1. ABS:绝对值,例如:Select ABS(-100),结果为:100。
  2. ROUND:四舍五入(精确到后两位:先对数据乘100,再除100),例如:Select ROUND(3.1871*100)/100,结果为:3.1900。
  3. FLOOR:强制舍位到最近的整数,例如:Select FLOOR(9.9),结果为:9。
  4. CEIL:强制进位到最近的整数,例如:CEIL(3.1),结果为:4。
  5. LOG:对数函数,例如:SELECT LOG(8,2),结果为3。
  6. LN:对数函数,例如:SELECT LN(10),结果为:2.30258509。
  7. POWER:指数函数,例如:SELECT POWER(2,3),结果为:8。
  8. SQRT:开平方,例如:SQRT(9)。
  9. PI:圆周率,例如:PI()。
  10. SIN:三角函数,例如:SIN(1)。
  11. COS:三角函数,例如:COS(1).
  12. TAN:三角函数,例如:TAN(2).
  13. COT:三角函数,例如:COT(1)
  14. RADIANS:角度转换弧度,例如:RADIANS(30)。
  15. DEGREES:弧度转换角度,例如:DEGREES(1)。
    日期函数:
  16. Now():获取当前系统的日期和时间,格式为yyyy-MM-dd hh:mm:ss,例如:Now()。
  17. CURDATE()函数能获得当前系统日期,格式为yyyy-MM-dd。例如: CURDATE();
  18. CURTIME()函数能获得当前的系统时间,格式为hh:mm:ss。例如:CURTIME();
  19. DATE_FORMAT()函数用于格式日期,返回用户想要的日期格式。例如:DATE_FORMAT(日期,表达式);查询员工入职的年份:SELECT ename,DATE_FORMAT(hiredate,“%Y”) From t_emp;

占位符

作用

%Y

年份

%d

日期

%W

星期(名称)

%U

本年第几周

%h

小时(12)

%s


%T

时间(24)

%m

月份

%w

星期(数字)0:代表周日

%j

本年第几天

%H

小时(24)

%r

时间(12)

%i

分钟

【例如】1、统计2022年上半年人数:

SELECT
	count(*)
FROM
	training_user
WHERE
	DATE_FORMAT(gmt_create ,"%Y") = 2022
and DATE_FORMAT(gmt_modified,"%m")<=6;

日期偏移计算

  1. DATE_ADD()函数可以实现日期的偏移计算,而且时间单位比较灵活。
`DATE_ADD(日期,INTERVAL  偏移量 时间单位)`
 SELECT DATE_ADD(NOW(),INTERVAL 15 DAY)//从当前日期偏移15天
 SELECT DATE_ADD(NOW(),INTERVAL -300 MINUTE)//300分钟之前的日期
 SELECT DATE_ADD(DATE_ADD(NOW(),INTERVAL -3 MONTH), INTERVAL 3 DAY);//偏移3个月3天
 SELECT
DATE_FORMAT(
	DATE_ADD(
		DATE_ADD(NOW(), INTERVAL - 3 MONTH),
		INTERVAL 3 DAY
	),"%Y/%m/%d");//返回日期格式

计算日期之间差了多少天:DATEDIFF()函数

DATEDIFF(日期,日期);
SELECT DATEDIFF("2022-6-29","2022-5-29");//31天

字符函数

  1. LOWER:转换小写字符;例如:LOWER(enname);
  2. UPPER:转换大写字符,例如:UPPER(enname);
  3. LENGTH:字符数量;LENGTH(enname);
  4. CONCAT:连接字符串;例如:CONCAT(sal,“$”);
  5. INSTR:字符出现的位置,例如:INSERT(enname,“A”);
  6. INSERT:插入/替换字符;例如:INSERT(“你好”,1,0,“先生”);
  7. PEPLACE:替换字符,例如:PEPLACE(“你好先生”,“先生”,“女士”)
  8. SUBSTR:截取字符串;例如:SUBSTR(“你好世界”,1,2);1:代表截取开始的位置,2:代表结束的位置,得到结果为:“你好”。
  9. SUBSTRING:截取字符串,例如:SUBSTRING(“你好世界”,2,1);2:代表开始位置,1:代表往后截取一个字符,结果为:“好”
  10. LPAD:左填充字符串;例如:LPAD(“Hello”,10,“*”);
  11. RPAD:右填充字符串;例如:RPAD(“Hello”,10,“*”);
  12. TRIM:去除首尾空格;例如:TRIM(" 你好先生 ");
  13. 例如:
SELECT LPAD(SUBSTRING("12356789661",9,3),11,"*");//隐藏手机号
SELECT RPAD(SUBSTRING("李晓呐",1,1),LENGTH("李晓呐")/3,"*");//隐藏名字

条件函数
14. IFNULL(表达式,值)
15. IF(表达式,值1,值2)
条件语句(比if语句功能强大)
CASE
WHEN 表达式 THEN 值1
WHEN 表达式 THEN 值2
……
ELSE 值N
END