函数
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 |
返回选择查询返回的记录数 |
| 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 |
如果条件为 TRUE,则返回一个值,如果条件为 FALSE,则返回另一个值 |
| IFNULL |
如果表达式为NULL,则返回指定值,否则返回表达式 |
| ISNULL |
根据表达式是否为 NULL 返回 1 或 0 |
| LAST_INSERT_ID |
返回表中已插入或更新的最后一行的 AUTO_INCREMENT id |
| NULLIF |
比较两个表达式,如果相等则返回 NULL。否则返回第一个表达式 |
| SESSION_USER |
返回当前 MySQL 用户名和主机名 |
| SYSTEM_USER |
返回当前 MySQL 用户名和主机名 |
| USER |
返回当前 MySQL 用户名和主机名 |
| VERSION |
返回 MySQL 数据库的当前版本 |