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)
左填充,用字符串pad
对str
的左边进行填充,直到字符串长度为n
。
示例:SELECT LPAD('123', 5, '0'); -- 返回 '00123'
-
RPAD(str, n, pad)
右填充,用字符串pad
对str
的右边进行填充,直到字符串长度为n
。
示例:SELECT RPAD('123', 5, '0'); -- 返回 '12300'
-
TRIM(str)
去除字符串str
开头和结尾的空格字符。
示例:SELECT TRIM(' hello '); -- 返回 'hello'
-
SUBSTRING(str, start, len)
返回从字符串str
中start
位置开始,长度为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)
返回date1
和date2
之间的天数差。
示例:SELECT DATEDIFF('2024-10-25', '2024-10-01'); -- 返回 24
4. 条件判断函数
这些函数用于根据条件返回不同的结果。
-
IF(value, t, f)
如果value
为true
,则返回t
,否则返回f
。
示例:SELECT IF(1 > 0, '大于', '小于'); -- 返回 '大于'
-
IFNULL(value1, value2)
如果value1
不为空(NULL
),则返回value1
,否则返回value2
。
示例:SELECT IFNULL(NULL, '默认值'); -- 返回 '默认值'
-
CASE WHEN [val1] THEN [res1] ... ELSE [default] END
如果val1
为true
,则返回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; -- 返回 '一'