函数是一段可以被直接调用的程序或代码(内置在 MySQL 中)。
一、字符串函数
函数 |
功能 |
CONCAT(S1, S2, …, Sn) |
字符串拼接。将S1等拼接为一个字符串 |
LOWER(str) |
将字符串转化为小写字母 |
UPPER(str) |
将字符串中每个字符转化为大写字母 |
LPAD(str, n, pad) |
左填充。将字符串 str 用 pad 在其左边填充至总长为 n |
RPAD(str, n, pad) |
右填充。 |
TRIM(str) |
去掉字符串左右两端的空格 |
SUBSTRING(str, start, len) |
返回从 start 起长度为 len 的子串 |
二、数值函数
函数 |
功能 |
CEIL(x) |
向上取整 |
FLOOR(x) |
向下取整 |
MOD(x, y) |
返回 x/y 的模 |
RAND() |
返回 0-1 之间的随机数 |
ROUND(x, y) |
求 x 的约数(四舍五入,保留 y 位小数) |
三、日期函数
函数 |
功能 |
CURDATE() |
返回当前日期 |
CURTIME() |
返回当前时间 |
NOW() |
返回当前日期和时间 |
YEAR(date) |
获取指定 date 的年份 |
MONTH(date) |
获取指定 date 的月份 |
DAY(date) |
获取指定 date 的日期 |
DATE_ADD(date, INTERVAL expr type) |
返回一个日期/时间值加上一个时间间隔 expr 后的时间值 |
DATEDIFF(date1, date2) |
返回起始时间 date1 和 date2 之间的天数 (date1-date2) |
- 日期为 YY- MM- DD
- 时间为 HH- MM- SS
四、流程(控制)函数
流程函数在 SQL 语句中实现条件筛选,从而提高语句的效率
函数 |
功能 |
IF(value, t, f) |
如果 value 为真,返回t,否则返回 f |
IFNULL(value1, value2) |
如果 value 不为 NULL,返回 value1,否则返回 value2 |
CASE WHEN [val1] THEN [res1] … ELSE [defult] END |
如果 val1 为真,返回 res1,… ,否则返回default 默认值 |
CASE [expr] WHEN [val1] THEN [res1] … ELSE [default] END |
如果expr 的值等于 val1, 返回 res1,…,否则返回default默认值 |