字符串函数

函数 功能
CONCAT(S1, S2, …Sn) 字符串拼接,将 S1,S2,...Sn 拼接成一个字符串
LOWER(str) 将字符串 str 全部转为小写
UPPER(str) 将字符串 str 全部转为大写
LPAD(str, n, pad) 左填充,用字符串 pad 对 str 的左边进行填充,达到 n 个字符串长度
RPAD(str, n, pad) 右填充,用字符串 pad 对 str 的右边进行填充,达到 n 个字符串长度
TRIM(str) 去掉字符串头部和尾部的空格
LTRIM(str) 去掉字符串头部的空格
RTRIM(str) 去掉字符串尾部的空格
SUBSTRING(str, start, len) 返回从字符串 str 从 start 位置起的 len 个长度的字符串
LENGTH(str) 得到字符串 str 长度,utf8 编码下,一个汉字三个字节,一个数字或字母一个字节,gbk 编码下,一个汉字两个字节,一个数字或字母一个字节
CHAR_LENGTH(str) 得到字符串 str 长度,单位为字符,不管汉字还是数字或者是字母都算是一个字符
LOCATE() 找出串的一个字串

数值函数

函数 功能
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 之间的天 数

流程函数

函数 功能
IF(value, t , f) 如果 value 为 true,则返回 t,否则返回 f
IFNULL(value1, value2) 如果 value1 不为空,返回 value1,否则返回 value2
CASE WHEN [val1] THEN [res1] ... ELSE [default] END 如果 val1 为 true,返回 res1,... 否则返回 default 默认值
CASE [expr] WHEN [val1] THEN [res1] ... ELSE [default] END 如果 expr 的值等于val1,返回 res1,... 否则返回 default 默认值