字符串函数
CONCAT(str1,str2,...,strN) :用于将多个字符串连接成一个字符串。例如,
SELECT CONCAT('SQL', ' ', '函数')
,结果为 “SQL 函数”。LOWER(str) :将字符串中的所有字母转换为小写。例如,
SELECT LOWER('MySQL FunCtIoNs')
,结果为 “mysql functions”。UPPER(str) :把字符串中的所有字母转换为大写。例如,
SELECT UPPER('mysql functions')
,结果为 “MYSQL FUNCTIONS”。LEFT(str,length) :从字符串左边开始截取指定长度的字符串。例如,
SELECT LEFT('MySQL',3)
,结果为 “MyS”。RIGHT(str,length) :从字符串右边开始截取指定长度的字符串。例如,
SELECT RIGHT('MySQL',3)
,结果为 “SQL”。LENGTH(str) :返回字符串的字节长度。例如,
SELECT LENGTH('MySQL')
,结果为 5。TRIM(str) :去除字符串两端的空格。例如,
SELECT TRIM(' MySQL ')
,结果为 “MySQL”。SUBSTRING(str,pos,len) :从字符串的指定位置开始截取指定长度的字符串。例如,
SELECT SUBSTRING('MySQL functions',6,9)
,结果为 “functions”。
数值函数
ABS(N) :返回 N 的绝对值。例如,
SELECT ABS(-10)
,结果为 10。CEIL(N) :返回大于或等于 N 的最小整数,即对 N 进行向上取整。例如,
SELECT CEIL(3.2)
,结果为 4。FLOOR(N) :返回小于或等于 N 的最大整数,即对 N 进行向下取整。例如,
SELECT FLOOR(3.8)
,结果为 3。ROUND(N,D) :将数字 N 四舍五入到小数点后 D 位。例如,
SELECT ROUND(3.14159,3)
,结果为 3.142。MOD(N,M) :返回 N 除以 M 的余数。例如,
SELECT MOD(10,3)
,结果为 1。POWER(N,M) :计算 N 的 M 次方。例如,
SELECT POWER(2,3)
,结果为 8。SQRT(N) :返回 N 的平方根。例如,
SELECT SQRT(25)
,结果为 5。
日期和时间函数
NOW() :返回当前日期和时间。例如,
SELECT NOW()
,结果可能是 “2024-09-18 15:30:00”。CURDATE() :返回当前日期。例如,
SELECT CURDATE()
,结果可能是 “2024-09-18”。CURTIME() :返回当前时间。例如,
SELECT CURTIME()
,结果可能是 “15:30:00”。DATE_ADD(date,INTERVAL expr type) :将指定的时间间隔添加到日期中。例如,
SELECT DATE_ADD('2024-09-18', INTERVAL 3 DAY)
,结果为 “2024-09-21”。DATE_SUB(date,INTERVAL expr type) :从日期中减去指定的时间间隔。例如,
SELECT DATE_SUB('2024-09-18', INTERVAL 5 DAY)
,结果为 “2024-09-13”。DATEDIFF(date1,date2) :返回两个日期之间的天数差。例如,
SELECT DATEDIFF('2024-09-20','2024-09-15')
,结果为 5。YEAR(date) :返回日期的年份部分。例如,
SELECT YEAR('2024-09-18')
,结果为 2024。MONTH(date) :返回日期的月份部分。例如,
SELECT MONTH('2024-09-18')
,结果为 9。DAY(date) :返回日期的日期部分。例如,
SELECT DAY('2024-09-18')
,结果为 18。
聚合函数
COUNT(column_name) :用于统计指定列中非空值的个数。例如,
SELECT COUNT(name) FROM students
,统计 students 表中 name 列非空值的个数。SUM(column_name) :计算指定列中数值的总和。例如,
SELECT SUM(score) FROM students
,计算 students 表中 score 列所有值的总和。AVG(column_name) :计算指定列中数值的平均值。例如,
SELECT AVG(score) FROM students
,计算 students 表中 score 列所有值的平均值。MAX(column_name) :返回指定列中的最大值。例如,
SELECT MAX(score) FROM students
,获取 students 表中 score 列的最大值。MIN(column_name) :返回指定列中的最小值。例如,
SELECT MIN(score) FROM students
,获取 students 表中 score 列的最小值。
其他函数
IF(condition, value_if_true, value_if_false) :根据条件返回不同的值。例如,
SELECT IF(3>2, '正确', '错误')
,结果为 “正确”。- CASE expression WHEN value1 THEN result1 WHEN value2 THEN result2 ... ELSE resultn END :用于根据表达式的不同值返回不同的结果。例如:
复制
,根据 score 列的值返回对应的等级。SELECT CASE score WHEN 90 THEN '优秀' WHEN 80 THEN '良好' WHEN 70 THEN '中等' ELSE '及格' END AS grade FROM students
这些函数在 MySQL 数据库操作中非常实用,可以根据实际需求灵活运用,以实现对数据的各种处理和查询。