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 | 返回选择查询返回的记录数 |
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 | 将值(任何类型)转换为指定的 datatype |
COALESCE | 返回列表中的第一个非空值 |
CONNECTION_ID | 返回当前连接的唯一连接 ID |
CONV | 将数字从一个数字进制系统转换为另一个数字进制系统 |
CONVERT | 将值转换为指定的 datatype 或字符集 |
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 数据库版本 |