MySQL 函数
MySQL 拥有许多内置函数。
本参考包含了 MySQL 中的字符串函数、数值函数、日期函数和一些高级函数。
MySQL 字符串函数
| 函数 | 描述 |
|---|---|
| ASCII | 返回特定字符的 ASCII 值。 |
| CHAR_LENGTH | 返回字符串的长度(以字符为单位)。 |
| CHARACTER_LENGTH | 返回字符串的长度(以字符为单位)。 |
| CONCAT | 将两个或多个表达式连接在一起。 |
| CONCAT_WS | 使用分隔符将两个或多个表达式连接在一起。 |
| FIELD | 返回在值列表中的值的索引位置。 |
| FIND_IN_SET | 返回在字符串列表中的字符串位置。 |
| FORMAT | 将数字格式化为 "#,###,###.##" 等格式,四舍五入到指定的小数位数。 |
| INSERT | 在字符串中的指定位置插入一定数量的字符。 |
| INSTR | 返回字符串在另一个字符串中第一次出现的位置。 |
| LCASE | 将字符串转换为小写。 |
| LEFT | 从字符串的左边提取一定数量的字符。 |
| LENGTH | 返回字符串的长度(以字节为单位)。 |
| LOCATE | 返回子字符串在字符串中第一次出现的位置。 |
| LOWER | 将字符串转换为小写。 |
| LPAD | 使用另一个字符串将字符串左填充到一定的长度。 |
| LTRIM | 删除字符串中的前导空格。 |
| MID | 从字符串中提取子字符串(从任意位置开始)。 |
| POSITION | 返回子字符串在字符串中第一次出现的位置。 |
| REPEAT | 重复字符串指定的次数。 |
| REPLACE | 将字符串中所有出现的子字符串替换为新的子字符串。 |
| REVERSE | 反转字符串并返回结果。 |
| RIGHT | 从字符串的右边提取一定数量的字符。 |
| RPAD | 使用另一个字符串将字符串右填充到一定的长度。 |
| RTRIM | 删除字符串中的尾随空格。 |
| SPACE | 返回指定数量的空格字符的字符串。 |
| STRCMP | 比较两个字符串。 |
| SUBSTR | 从字符串中提取子字符串(从任意位置开始)。 |
| SUBSTRING | 从字符串中提取子字符串(从任意位置开始)。 |
| SUBSTRING_INDEX | 返回字符串中指定数量的分隔符出现之前的子字符串。 |
| TRIM | 删除字符串中的前导和尾随空格。 |
| UCASE | 将字符串转换为大写。 |
| UPPER | 将字符串转换为大写。 |
MySQL 数值函数
| 函数 | 描述 |
|---|---|
| ABS | 返回数字的绝对值。 |
| ACOS | 返回数字的反余弦值。 |
| ASIN | 返回数字的反正弦值。 |
| ATAN | 返回一个或两个数字的反正切值。 |
| ATAN2 | 返回两个数字的反正切值。 |
| AVG | 返回表达式的平均值值。 |
| CEIL | 返回大于或等于一个数字的最小整数值。 |
| CEILING | 返回大于或等于一个数字的最小整数值。 |
| COS | 返回数字的余弦值。 |
| COT | 返回数字的余切值。 |
| COUNT | 返回 SELECT 查询返回的记录数。 |
| DEGREES | 将弧度值转换为度数。 |
| DIV | 用于整数除法。 |
| EXP | 返回 e 的指定数字次幂的值。 |
| FLOOR | 返回小于或等于一个数字的最大整数值。 |
| GREATEST | 返回参数列表的最大值。 |
| LEAST | 返回参数列表的最小值。 |
| LN | 返回数字的自然对数。 |
| LOG | 返回数字的自然对数,或返回指定底数的对数。 |
| LOG10 | 返回数字以 10 为底的自然对数。 |
| LOG2 | 返回数字以 2 为底的自然对数。 |
| MAX | 返回一组值中的最大值。 |
| MIN | 返回一组值中的最小值。 |
| MOD | 返回数字除以另一个数字的余数。 |
| PI | 返回 PI 值。 |
| POW | 返回数字的另一个数字次幂的值。 |
| POWER | 返回数字的另一个数字次幂的值。 |
| RADIANS | 将角度值转换为弧度。 |
| RAND | 返回随机数。 |
| ROUND | 将数字四舍五入到指定的小数位数。 |
| SIGN | 返回数字的符号。 |
| SIN | 返回数字的正弦值。 |
| SQRT | 返回数字的平方根。 |
| SUM | 计算一组值的总和。 |
| TAN | 返回数字的正切值。 |
| TRUNCATE | 将数字截断至指定的小数位数。 |
MySQL 日期函数
| 函数 | 描述 |
|---|---|
| ADDDATE | 向日期添加指定的时间间隔,然后返回日期。 |
| ADDTIME | 向时间添加指定的时间间隔,然后返回时间/日期时间。 |
| CURDATE | 返回当前日期。 |
| CURRENT_DATE | 返回当前日期。 |
| CURRENT_TIME | 返回当前时间。 |
| CURRENT_TIMESTAMP | 返回当前日期和时间。 |
| CURTIME | 返回当前时间。 |
| DATE | 从日期时间表达式中提取日期部分。 |
| DATEDIFF | 返回两个日期值之间的天数。 |
| DATE_ADD | 向日期添加指定的时间/日期间隔,然后返回日期。 |
| DATE_FORMAT | 设置日期格式。 |
| DATE_SUB | 从日期中减去时间/日期间隔,然后返回日期。 |
| DAY | 返回给定日期的月份中的第几天。 |
| DAYNAME | 返回给定日期的星期几的名称。 |
| DAYOFMONTH | 返回给定日期的月份中的第几天。 |
| DAYOFWEEK | 返回给定日期的星期几的索引。 |
| DAYOFYEAR | 返回给定日期是一年中的第几天。 |
| EXTRACT | 从给定日期中提取一部分。 |
| FROM_DAYS | 将数字日期值转换为日期。 |
| HOUR | 返回给定日期的小时部分。 |
| LAST_DAY | 提取给定日期该月的最后一天。 |
| LOCALTIME | 返回当前日期和时间。 |
| LOCALTIMESTAMP | 返回当前日期和时间。 |
| MAKEDATE | 创建并返回基于年份和天数值的日期。 |
| MAKETIME | 创建并返回基于小时、分钟和秒值的时间。 |
| MICROSECOND | 返回时间/日期时间的微秒部分。 |
| MINUTE | 返回时间/日期时间的分钟部分。 |
| MONTH | 返回给定日期的月份部分。 |
| MONTHNAME | 返回给定日期的月份名称。 |
| NOW | 返回当前日期和时间。 |
| PERIOD_ADD | 向周期添加指定的月数。 |
| PERIOD_DIFF | 返回两个周期之间的差值。 |
| QUARTER | 返回给定日期值的年份的季度。 |
| SECOND | 返回时间/日期时间的秒部分。 |
| SEC_TO_TIME | 返回基于指定秒数的时间值。 |
| STR_TO_DATE | 返回基于字符串和格式的日期。 |
| SUBDATE | 从日期中减去时间/日期间隔,然后返回日期。 |
| SUBTIME | 从日期时间中减去时间间隔,然后返回时间/日期时间。 |
| SYSDATE | 返回当前日期和时间。 |
| TIME | 从给定时间/日期时间中提取时间部分。 |
| TIME_FORMAT | 按指定格式格式化时间。 |
| TIME_TO_SEC | 将时间值转换为秒。 |
| TIMEDIFF | 返回两个时间/日期时间表达式之间的差值。 |
| TIMESTAMP | 根据日期或日期时间值返回日期时间值。 |
| TO_DAYS | 返回日期与日期 "0000-00-00" 之间的天数。 |
| WEEK | 返回给定日期的周数。 |
| WEEKDAY | 返回给定日期的星期几的数字。 |
| WEEKOFYEAR | 返回给定日期的周数。 |
| YEAR | 返回给定日期的年份部分。 |
| YEARWEEK | 返回给定日期的年份和周数。 |
MySQL 高级函数
| 函数 | 描述 |
|---|---|
| BIN | 返回数字的二进制表示。 |
| BINARY | 将值转换为二进制字符串。 |
| CASE | 遍历条件并在满足第一个条件时返回一个值。 |
| CAST | 将值(任何类型)转换为指定的数据类型。 |
| COALESCE | 返回列表中的第一个非空值。 |
| CONNECTION_ID | 返回当前连接的唯一连接 ID。 |
| CONV | 将数字从一种数字基本系统转换为另一种数字基本系统。 |
| CONVERT | 将值转换为指定的数据类型或字符集。 |
| CURRENT_USER | 返回服务器用于验证当前客户端的 MySQL 帐户的用户名和主机名。 |
| DATABASE | 返回当前数据库的名称。 |
| IF | 如果条件为真,则返回一个值;如果条件为假,则返回另一个值。 |
| IFNULL | 如果表达式为 NULL,则返回指定值,否则返回表达式。 |
| ISNULL | 根据表达式是否为 NULL 返回 1 或 0。 |
| LAST_INSERT_ID | 返回表中已插入或更新的最后一行的 AUTO_INCRMENT id。 |
| NULLIF | 比较两个表达式,如果相等则返回 NULL。否则,返回第一个表达式。 |
| SESSION_USER | 返回当前 MySQL 用户名和主机名。 |
| SYSTEM_USER | 返回当前 MySQL 用户名和主机名。 |
| USER | 返回当前 MySQL 用户名和主机名。 |
| VERSION | 返回 MySQL 数据库的当前版本。 |