0%

常用函数

字符串函数

  • CONCAT(S1, S2, …) 字符串拼接;
  • LOWER(str) 小写转换;
  • UPPER(str) 大写转换;
  • LPAD(str, n, pad) 左填充,用字符串 pad 对 str 左边进行填充,直到长度为 n;
  • RPAD(str, n, pad) 右填充,用字符串 pad 对 str 右边进行填充,直到长度为 n;
  • TRIM(str) 去掉字符串头部和尾部的空格;
  • SUBSTRING(str, start, len) 返回字符串 str 从 start 位置起的 len 长度的字符串,需要注意的是字符索引是从1开始的。

数值函数

  • 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 为真,返回 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 默认值。