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; -- 返回 '一'
