1. 字符串处理函数

这些函数用于操作字符串,常见的用法包括拼接、大小写转换、去空格等。

  • CONCAT(S1, S2, ..., Sn)
    拼接字符串,将多个字符串 S1, S2, ..., Sn 连接成一个完整的字符串。
    示例:

    SELECT CONCAT('Hello', ' ', 'World');
    -- 返回 'Hello World'
  • LOWER(str)
    将字符串 str 全部转换为小写字母。
    示例:

    SELECT LOWER('HELLO');
    -- 返回 'hello'
  • UPPER(str)
    将字符串 str 全部转换为大写字母。
    示例:

    SELECT UPPER('hello');
    -- 返回 'HELLO'
  • LPAD(str, n, pad)
    左填充,用字符串 padstr 的左边进行填充,直到字符串长度为 n
    示例:

    SELECT LPAD('123', 5, '0');
    -- 返回 '00123'
  • RPAD(str, n, pad)
    右填充,用字符串 padstr 的右边进行填充,直到字符串长度为 n
    示例:

    SELECT RPAD('123', 5, '0');
    -- 返回 '12300'
  • TRIM(str)
    去除字符串 str 开头和结尾的空格字符。
    示例:

    SELECT TRIM('  hello  ');
    -- 返回 'hello'
  • SUBSTRING(str, start, len)
    返回从字符串 strstart 位置开始,长度为 len 的子字符串。
    示例:

    SELECT SUBSTRING('abcdefg', 2, 3);
    -- 返回 'bcd'

2. 数值处理函数

这些函数用于处理数值,包括取整、随机数生成、取模等。

  • CEIL(x)
    向上取整,返回大于或等于 x 的最小整数值。
    示例:

    SELECT CEIL(2.3);
    -- 返回 3
  • FLOOR(x)
    向下取整,返回小于或等于 x 的最大整数值。
    示例:

    SELECT FLOOR(2.9);
    -- 返回 2
  • MOD(x, y)
    返回 x 除以 y 的余数(模运算)。
    示例:

    SELECT MOD(10, 3);
    -- 返回 1
  • RAND()
    返回0到1之间的随机数。
    示例:

    SELECT RAND();
    -- 返回 0.546875 等随机数
  • ROUND(x, y)
    对数值 x 进行四舍五入,保留 y 位小数。
    示例:

    SELECT ROUND(1.23456, 2);
    -- 返回 1.23

3. 日期和时间函数

这些函数用于操作和处理日期和时间。

  • CURDATE()
    返回当前日期(不包含时间部分)。
    示例:

    SELECT CURDATE();
    -- 返回 '2024-10-25'
  • CURTIME()
    返回当前时间(不包含日期部分)。
    示例:

    SELECT CURTIME();
    -- 返回 '12:34:56'
  • NOW()
    返回当前的日期和时间。
    示例:

    SELECT NOW();
    -- 返回 '2024-10-25 12:34:56'
  • YEAR(date)
    获取指定 date 的年份部分。
    示例:

    SELECT YEAR('2024-10-25');
    -- 返回 2024
  • MONTH(date)
    获取指定 date 的月份部分。
    示例:

    SELECT MONTH('2024-10-25');
    -- 返回 10
  • DAY(date)
    获取指定 date 的日期部分(天数)。
    示例:

    SELECT DAY('2024-10-25');
    -- 返回 25
  • DATE_ADD(date, INTERVAL expr unit)
    返回在指定日期 date 的基础上加上一个时间间隔 expr,单位为 unit
    示例:

    SELECT DATE_ADD('2024-10-25', INTERVAL 1 MONTH);
    -- 返回 '2024-11-25'
  • DATEDIFF(date1, date2)
    返回 date1date2 之间的天数差。
    示例:

    SELECT DATEDIFF('2024-10-25', '2024-10-01');
    -- 返回 24

4. 条件判断函数

这些函数用于根据条件返回不同的结果。

  • IF(value, t, f)
    如果 valuetrue,则返回 t,否则返回 f
    示例:

    SELECT IF(1 > 0, '大于', '小于');
    -- 返回 '大于'
  • IFNULL(value1, value2)
    如果 value1 不为空(NULL),则返回 value1,否则返回 value2
    示例:

    SELECT IFNULL(NULL, '默认值');
    -- 返回 '默认值'
  • CASE WHEN [val1] THEN [res1] ... ELSE [default] END
    如果 val1true,则返回 res1,否则返回 default
    示例:

    SELECT CASE WHEN 1 > 0 THEN '正确' ELSE '错误' END;
    -- 返回 '正确'
  • CASE [expr] WHEN [val1] THEN [res1] ... ELSE [default] END
    如果 expr 的值等于 val1,则返回 res1,否则返回 default
    示例:

    SELECT CASE 1 WHEN 1 THEN '一' ELSE '其他' END;
    -- 返回 '一'