在MySQL中的SELECT 语句中,可使用Concat()函数来拼接两个列,使用RTrim()函数来删除数据右侧多余的空格。
示例1:将vend_name和vend_country两个列值拼接成一个串
SQL语句:SELECT Concat(vend_name,‘(‘,vend_country,‘)‘) FROM vendors ORDER BY vend_name;
SQL语句:SELECT Concat(vend_name,‘(‘,RTrim(vend_country),‘)‘) FROM vendors ORDER BY vend_name;
SQL语句:SELECT Concat(RTrim(vend_name),‘(‘,RTrim(vend_country),‘)‘) AS vend_title FROM vendors ORDER BY vend_name;
示例2:汇总物品的价格,即单价*订购数量
SQL语句:SELECT prod_id, quantity, item_price quantity*item_price AS expanded_price FROM orderitems WHERE order_num = 2005;
大多数SQL实现支持以下类型的函数:
(1) 文本处理函数
RTrim()函数:去除列值右边的空格;
示例:拼接vend_name和vend_country列值,并去除数据中右边的空格
SQL语句:SELECT Concat(RTrim(vend_name),‘(‘,RTrim(vend_country),‘)‘) AS vend_title FROM vendors ORDER BY vend_name;
Upper()函数:将文本转换为大写
示例:将vend_name列值全部转换为大写,第一列为原本存储的值,第二列为文本大写转换后的值
SQL语句:SELECT vend_name, Upper(vend_name) AS vend_name_upcase FROM vendors ORDER BY vend_name;
Soundex()函数:匹配发音类似的值
SQL语句:SELECT cust_name, cust_contact FROM customers WHERE Soundex(cust_contact)=Soundex(‘Y Lie‘);
(2) 日期处理函数
SQL语句:SELECT cust_id, order_num FROM orders WHERE Date(order_data)=‘2005-09-01‘;
示例:检索出2005年9月的订单记录
SQL语句:SELECT cust_id, order_num FROM orders WHERE Date(order_data) BETWEEN ‘2005-09-01‘ AND ‘2005-09-30‘;
SQL语句:SELECT cust_id, order_num FROM orders WHERE Year(order_data) = 2005 AND Month(order_data) = 9;
(3) 数值处理函数
原文:https://www.cnblogs.com/wzw0625/p/12606525.html