MySQL 函数
MySQL 包含许多内置函数。
本参考包含 MySQL 中的字符串、数字、日期和一些高级函数。
MySQL 字符串函数
| 函数 | 描述 | 
|---|---|
| ASCII | 返回特定字符的 ASCII 值 | 
| CHAR_LENGTH | 返回字符串的长度(以字符为单位) | 
| CHARACTER_LENGTH | 返回字符串的长度(以字符为单位) | 
| CONCAT | 将两个或多个表达式连接在一起 | 
| CONCAT_WS | 使用分隔符将两个或多个表达式连接在一起 | 
| FIELD | 返回值在值列表中(List of values)的位置索引 | 
| FIND_IN_SET | 返回字符串在字符串列表中的位置 | 
| FORMAT | 将数字格式化为类似“#,###,###.##”的格式,并四舍五入到指定的小数位数 | 
| INSERT | 在指定位置和指定字符数内,将一个字符串插入到另一个字符串中 | 
| INSTR | 返回一个字符串在另一个字符串中的首次出现的位置 | 
| LCASE | 将字符串转换为小写 | 
| LEFT | 从字符串(从左侧开始)中提取指定数量的字符 | 
| LENGTH | 返回字符串的长度(以字节为单位) | 
| LOCATE | 返回子字符串在字符串中的首次出现的位置 | 
| LOWER | 将字符串转换为小写 | 
| LPAD | 使用另一个字符串左填充字符串,直到达到指定长度 | 
| LTRIM | 从字符串中删除前导空格 | 
| MID | 从字符串中提取子字符串(从任何位置开始) | 
| POSITION | 返回子字符串在字符串中的首次出现的位置 | 
| REPEAT | 将字符串重复指定的次数 | 
| REPLACE | 在字符串中替换所有出现的子字符串为一个新的子字符串 | 
| REVERSE | 反转字符串并返回结果 | 
| RIGHT | 从字符串(从右侧开始)中提取指定数量的字符 | 
| RPAD | 使用另一个字符串右填充字符串,直到达到指定长度 | 
| RTRIM | 从字符串中删除尾随空格 | 
| 空格 | 返回指定数量空格的字符串 | 
| 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 | 返回列表中的第一个非 NULL 值 | 
| CONNECTION_ID | 返回当前连接的唯一连接 ID | 
| CONV | 将数字从一个数值基系统转换为另一个 | 
| CONVERT | 将值转换为指定的日期类型或字符集 | 
| CURRENT_USER | 返回服务器用于身份验证当前客户端的 MySQL 帐户的用户名和主机名 | 
| DATABASE | 返回当前数据库的名称 | 
| IF | 如果条件为 TRUE,则返回一个值,否则返回另一个值 | 
| IFNULL | 如果表达式为 NULL,则返回指定的值,否则返回表达式 | 
| ISNULL | 根据表达式是否为 NULL 返回 1 或 0 | 
| LAST_INSERT_ID | 返回已插入表中最后一条记录的 AUTO_INCREMENT ID | 
| NULLIF | 比较两个表达式,如果它们相等则返回 NULL。否则,返回第一个表达式 | 
| SESSION_USER | 返回当前的 MySQL 用户名和主机名 | 
| SYSTEM_USER | 返回当前的 MySQL 用户名和主机名 | 
| USER | 返回当前的 MySQL 用户名和主机名 | 
| VERSION | 返回 MySQL 数据库的当前版本 | 
 
