1、datediff(date1,date2)
date1减去date2,返回两个日期之间的天数。
sql
SELECT DATEDIFF('2008-11-30','2008-11-29') AS DiffDate
-- 返回1
sql
SELECT DATEDIFF('2008-11-29','2008-11-30') AS DiffDate
-- 返回-1
2、char_length(s)
返回字符串 s 的字符数
3、round(x,d)
四舍五入参数x
返回参数x的四舍五入的有d位小数的一个数字。默认d为0,如果不填d,结果将没有小数点或小数部分。
4、if(expr,v1,v2)
如果表达式 expr 成立,返回结果 v1;否则,返回结果 v2。
5、ifnull(expression, alternative_value)
IFNULL()
是 用于 替代 NULL
值 ,它的作用是 检查一个表达式 expression是否为 NULL
,如果是 NULL
,则返回指定的替代值 alternative_value**;否则返回该表达式的值**。
6、avg(expression)
avg就是常用的聚合函数,expression可以是某个列,也可以是计算表达式(例如,某列与常数相乘)

7、date_sub() 和 date_add()
DATE_SUB() 和 DATE_ADD() 是 MySQL 内置的日期函数,用于对日期进行加减运算。
sql
-- 语法,计算过去
DATE_SUB(起始日期, INTERVAL 数值 时间单位)

sql
--语法,计算未来
DATE_ADD(起始日期, INTERVAL 数值 时间单位)
8、now()和curdate()的区别
NOW() 和 CURDATE() 都是 MySQL 中的日期时间函数,但它们的返回值不同。

9、union和union all
UNION 用于合并多个 SELECT 查询的结果,去掉重复的行。
UNION ALL 用于合并多个 SELECT 查询的结果,并保留所有行(包括重复的行)。
使用 UNION 时,所有查询的列数和数据类型需要一致。
外部可以使用 ORDER BY 对 UNION 的结果集进行排序。
sql
SELECT id, name FROM employees
UNION
SELECT id, name FROM contractors;

10、CASE
CASE 函数是 MySQL 中的一个 条件表达式,允许根据条件返回不同的值。它类似于其他编程语言中的 if-else 语句,可以用于 SELECT、UPDATE、DELETE 等 SQL 语句中。CASE 语句根据给定的条件判断,选择相应的结果值。
基本语法:
-
简单 CASE 表达式 :根据某个列的值进行匹配。
sqlSELECT column_name, CASE column_name WHEN value1 THEN result1 WHEN value2 THEN result2 ELSE default_result END AS alias_name FROM table_name;
-
搜索 CASE 表达式 :根据多个条件进行判断。
sqlSELECT column_name, CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ELSE default_result END AS alias_name FROM table_name;
11、窗口函数