1.拼接字段:
将多个值联结到一起构成单个值。mysql使用concat()函数。
其他DBMS数据库可能使用+或者||来实现拼接。
select concat(vend_name,'(',vend_country,')') from vendors order by vend_name;
也可以使用别名来优化显示:
select concat(vend_name,'(',vend_country,')') as vend_title from vendors order by vend_name;
2.执行算数运算:
select prod_id, quantity, item_price, quantity*item_price as expanded_price from orderitems where order_num=20005;
3.文本处理函数:
--Left() 返回字符串左边的字符
--Right()返回字符串右边的字符
--RTrim()去除列值右边的空格
--LTrim()去除列值左边的空格
--Lower()将字符串转化为小写
--Upper()将字符串转化为大写
--Length()返回字符串的长度
--Locate(‘abc’,'dingabcwei')返回字符串的字串在字符串中第一次出现的位置
--Soundex()返回串的近似音值
--Substring('ding123wei',3)返回子串的字符
4.日期处理函数:
mysql中日期格式最好为yyyy--mm-dd(2018-05-21)。
Adddate()增加一个日期
Addtime()增加一个时间
Curdate()返回当前日期
Curdate()返回当前时间
Date()返回一个时间的日期部分
Datediff()计算两个日期只差
Date_add()加上一个天数的日期
Dayofweek(),weekday(),dayname()三种星期的计算方法,注意区别。
Hour(),Minute(),Month(),Now(),second(),Time(),Year()
例如,检索出2009年9月的所有订单,可以用:
select cust_id, order_num from orders where Year (order_date)=2005 and Month(order_date)=9;
5.汇总函数:
Avg()
Exp()
Mod()
Rand()
sin(), cos(), sqrt(), tan(), abs()
count(column)只对列中有值的才计数
count(*)不管控值还是非空都会计数
6.分组函数group by:
select vend_id, count(*) as num_prods from products group by vend_id order by vend_id;
group by 位置在where之后,order by 之前。
having 过滤分组,类似于where。
select vend_id, count(*) as num_prods from products group by vend_id having num_prods>2 order by vend_id;