【mysql】SQL函数

1.算术函数

函数 含义 样例
ABS 取绝对值 SELECT ABS(-1);  # 结果为 1
MOD 取余 SELECT MOD(22,5);  # 22%5 结果为 2
ROUND 四舍五入时指定小数点位数 SELECT ROUND(15.43,1); # 结果为 15.4

2.字符串函数

函数 含义 样例
CONCAT 将多个字符串连接起来

SELECT CONCAT("%","pibigstar");

# 结果为 %pibigstar

LENGTH 计算字段的长度,一个汉字-三个字符,字母和数字一个字符 SELECT LENGTH("你好"); # 结果为 6
CHAR_LENGTH 所有都算做一个字符 SELECT CHAR_LENGTH("你好"); # 结果为 2
LOWER 全部转为小写 SELECT LOWER("AB"); # 结果为 ab
UPPER 全部转为大写 SELECT UPPER("ab") # 结果为 AB
REPLACE 替换字符 SELECT REPLACE("abc","a", "f"); # 结果为 fbc
SUBSTRING 截取字符串(字符串, 开始截取位置, 截取长度) SELECT SUBSTRING("abc", 1, 2); # 结果为 ab

3.日期函数

函数 作用 样例
DATE_FORMAT 日期格式化
select count(id),DATE_FORMAT(pay_time,"%Y%m%d%H%i") from pay_20200409 group by DATE_FORMAT(pay_time,"%Y%m%d%H%i");
DATEDIFF 比较两个时间

# 查询当天的数据

SELECT * FROM user WHERE DATEDIFF(create_at,now())=0

# 查询昨天的数据
SELECT * FROM user WHERE DATEDIFF(create_at,now())=-1

# 查询这个月的数据
SELECT * FROM user WHERE MONTH(create_at)=MONTH(now())

CURRENT_DATE 系统当前日期

SELECT CURRENT_DATE(); # 2019-06-29

CURRENT_TIME 系统当前时间 SELECT CURRENT_TIME(); # 21:44:33
CURRENT_TIMESTAMP 系统当前时间(日期+时间) SELECT CURRENT_TIMESTAMP(); # 2019-06-29 21:44:33
ECTRACT 抽取具体的年、月、日 SELECT EXTRACT(YEAR FROM '2019-06-29'); # 2019
DATE 返回时间的日期部分 SELECT DATE('2019-06-29 21:44:33'); # 2019-06-29
YEAR 返回时间的年份部分  
MONTH 返回时间的月份部分  
DAY 返回时间的天数部分 SELECT DAY('2019-06-29 21:44:33');  # 29
HOUR 返回时间的小时部分  
MINUTE 返回时间的分钟部分  
SECOND 返回时间的秒部分  

4.转换函数

函数 作用 样例
CAST 强制数据类型转换 SELECT CAST(65.243 AS DECIMAL(8,2)); # 65.24
COALESCE 返回第一个非空数值 SELECT COALESCE(null,null,2,3); # 2

5.聚合函数

函数 作用 样例
SUM 求和 SELECT SUM(age) FROM user;
AVG 求平均值 SELECT AVG(age) FROM user;
MAX 找出最大值 SELECT MAX(age) FROM user;
MIN 找出最小值 SELECT MIN(age) FROM user;
COUNT 计数

SELECT COUNT(*) FROM user; # 计录全部行数,包括null

SELECT COUNT(age) FROM user; # 如果age为null,将过滤

SELECT COUNT(*) FROM user GROUP BY age

PS:关键字顺序不能颠倒,它们的顺序为:

SELECT...FROM...WHERE...GROUP BY...HAVING...ORDER BY...LIMIT...

你可能感兴趣的:(数据库,mysql,字符串,日期,算术)