一、日期函数
1、NOW() 返回当前日期和时间
mysql> SELECT NOW(); --------------------- | NOW() | --------------------- | 2019-10-19 10:55:28 | --------------------- 1 row in set (0.00 sec)
2、DATE_FORMAT(d,f) 按表达式 f的要求显示日期 d
mysql> SELECT DATE_FORMAT(NOW(),‘%Y年-%m月-%d日 %H时:%i分:%s秒‘); ---------------------------------------------------- | DATE_FORMAT(NOW(),‘%Y年-%m月-%d日 %H时:%i分:%s秒‘) | ---------------------------------------------------- | 2019年-10月-19日 11时:03分:01秒 | ---------------------------------------------------- 1 row in set (0.00 sec)
3、DATE_ADD(d,INTERVAL expr type) 计算起始日期 d 加上一个时间段后的日期
mysql> SELECT DATE_ADD(NOW(),INTERVAL 1 DAY); -------------------------------- | DATE_ADD(NOW(),INTERVAL 1 DAY) | -------------------------------- | 2019-10-20 11:07:47 | -------------------------------- 1 row in set (0.00 sec)
注意:expr:正数(加)、负数(减)
unit:支持毫秒microsecond、秒second、小时hour、天day、周week、年year
二、字符串函数
1、CONCAT(s1,s2...sn) 字符串 s1,s2 等多个字符串合并为一个字符串
mysql> SELECT CONCAT(‘My‘,‘SQL‘); -------------------- | CONCAT(‘My‘,‘SQL‘) | -------------------- | MySQL | -------------------- 1 row in set (0.00 sec)
2、FIELD(s,s1,s2...) 返回第一个字符串 s 在字符串列表(s1,s2...)中的位置
mysql> SELECT FIELD(‘C‘,‘A‘,‘B‘,‘C‘,‘D‘); ---------------------------- | FIELD(‘C‘,‘A‘,‘B‘,‘C‘,‘D‘) | ---------------------------- | 3 | ---------------------------- 1 row in set (0.00 sec)
3、LOWER(s) 将字符串 s 的所有字母变成小写字母
mysql> SELECT LOWER(‘ABCD‘); --------------- | LOWER(‘ABCD‘) | --------------- | abcd | --------------- 1 row in set (0.00 sec)
4、REVERSE(s) 将字符串s的顺序反过来
mysql> SELECT REVERSE(‘ABCD‘); ----------------- | REVERSE(‘ABCD‘) | ----------------- | DCBA | ----------------- 1 row in set (0.00 sec)
三、数字函数
1、ABS(x) 返回 x 的绝对值
mysql> SELECT ABS(-10); ---------- | ABS(-10) | ---------- | 10 | ---------- 1 row in set (0.00 sec)
2、ROUND(x) 返回离 x 最近的整数
mysql> SELECT ROUND(1.2345); --------------- | ROUND(1.2345) | --------------- | 1 | --------------- 1 row in set (0.00 sec)
3、RAND() 返回 0 到 1 的随机数
mysql> SELECT RAND(); -------------------- | RAND() | -------------------- | 0.5442781900468079 | -------------------- 1 row in set (0.00 sec)
4、POW(x,y) 返回 x 的 y 次方
mysql> SELECT POW(4,2); #4的2次方 ---------- | POW(4,2) | ---------- | 16 | ---------- 1 row in set (0.00 sec)
四、聚合函数
1、AVG(expression) 返回一个表达式的平均值,expression 是一个字段
#返回 Products 表中Price 字段的平均值 mysql> SELECT AVG(price) AS AveragePrice FROM Products;
2、COUNT(expression) 返回查询的记录总数,expression 参数是一个字段或者 * 号
#返回 Products 表中 products 字段总共有多少条记录: mysql> SELECT COUNT(id) AS NumberOfProducts FROM Products;
3、MAX(expression) 返回字段 expression 中的最大值
#返回数据表 Products 中字段 Price 的最大值:
mysql> SELECT MAX(Price) AS LargestPrice FROM Products;
4、MIN(expression) 返回字段 expression 中的最小值
#返回数据表 Products 中字段 Price 的最小值: mysql> SELECT MIN(Price) AS SmalltPrice FROM Products;
5、SUM(expression) 返回指定字段的总和
#计算 Products表中字段 Cost的总和: mysql> SELECT SUM(Cost) AS TotalCost FROM Products;
6、group_concat(expression) 返回指定字段内容的拼接
mysql> SELECT GROUP_CONCAT(name) from crm_product; ----------------------- | GROUP_CONCAT(name) | ----------------------- | 磷酸铁锂电池,叠片电池 | ----------------------- 1 row in set (0.00 sec)