MySQL 提供了大量的内置函数,用于处理各种数据类型和执行复杂的操作。这些函数可以按照其处理的数据类型或它们的功能来分类。以下是一些常见的 MySQL 函数类别及其示例函数:
字符串函数
CONCAT(str1, str2, ...): 连接两个或多个字符串。
LENGTH(str): 返回字符串的长度。
UPPER(str): 将字符串转换为大写。
LOWER(str): 将字符串转换为小写。
TRIM([BOTH | LEADING | TRAILING] [remstr] FROM] str): 去除字符串两侧的空格或指定字符。
SUBSTRING(str, pos, len): 从字符串中提取子字符串。
REPLACE(str, from_str, to_str): 替换字符串中的子字符串。
数值函数
ABS(X): 返回 X 的绝对值。
CEIL(X) 或 CEILING(X): 返回大于或等于 X 的最小整数。
FLOOR(X): 返回小于或等于 X 的最大整数。
ROUND(X, D): 对 X 进行四舍五入,保留 D 位小数。
MOD(N, M): 返回 N 除以 M 的余数。
RAND(): 返回 0 到 1 之间的随机数。
POW(X, Y) 或 POWER(X, Y): 返回 X 的 Y 次方。
日期和时间函数
NOW(): 返回当前日期和时间。
CURDATE(): 返回当前日期。
CURTIME(): 返回当前时间。
DATE_FORMAT(date, format): 按指定格式显示日期/时间。
DATEDIFF(date1, date2): 返回两个日期之间的天数。
DAY(date): 返回日期值的天数部分。
MONTH(date): 返回日期值的月份部分。
YEAR(date): 返回日期值的年份部分。
聚合函数
AVG(expression): 返回某列的平均值。
COUNT(expression): 返回匹配指定条件的行数。
MAX(expression): 返回某列的最大值。
MIN(expression): 返回某列的最小值。
SUM(expression): 返回某列的总和。
GROUP_CONCAT(expression): 返回带有连接值的字符串结果。
控制流函数
IF(condition, value_if_true, value_if_false): 如果条件为真,返回第一个值,否则返回第二个值。
CASE: 用于条件判断,类似于其他编程语言中的 switch 语句。
COALESCE(value1, value2, ...): 返回参数列表中的第一个非 NULL 值。
NULLIF(expr1, expr2): 如果两个表达式相等,则返回 NULL,否则返回第一个表达式的值。
加密和哈希函数
MD5(str): 返回字符串的 MD5 哈希值。
SHA1(str): 返回字符串的 SHA-1 哈希值。
ENCRYPT(str, salt): 使用 UNIX crypt() 系统调用对字符串进行加密。
PASSWORD(str): 对密码进行加密(不推荐用于新应用,因为存在已知的弱点)。
其他函数
CAST(expr AS type): 将一个值转换为指定的数据类型。
CONVERT(expr, type): 类似于 CAST,但允许在类型之间进行更灵活的转换。
LAST_INSERT_ID(): 返回最后一个 INSERT 或 UPDATE 语句生成的 AUTO_INCREMENT 值。
USER() 或 SYSTEM_USER(): 返回当前 MySQL 用户名和主机名。
请注意,以上只是一小部分 MySQL 函数。MySQL 还提供了许多其他函数,涵盖了地理空间、位运算、流程控制等多个领域。你可以查阅 MySQL 官方文档以获取完整的函数列表和详细信息。