MySQL函数大全,MySQL常用函数汇总
1 MySQL 数值型函数
1.1 ABS
求绝对值
1.2 SQRT
求二次方根
1.3 MOD
求余数
1.4 CEIL 和 CEILING
两个函数功能相同,都是返回不小于参数的最小整数,即向上取整
1.5 FLOOR
向下取整,返回值转化为一个BIGINT
1.6RAND
生成一个0~1之间的随机数,传入整数参数是,用来产生重复序列
1.7 ROUND
对所传参数进行四舍五入
1.8 SIGN
返回参数的符号
1.9 POW 和 POWER
两个函数的功能相同,都是所传参数的次方的结果值
1.10 SIN
求正弦值
1.11 ASIN
求反正弦值,与函数 SIN 互为反函数
1.12 COS
求余弦值
1.13 ACOS
求反余弦值,与函数 COS 互为反函数
1.14 TAN
求正切值
1.15 ATAN
求反正切值,与函数 TAN 互为反函数
1.16 COT
求余切值
2 MySQL 字符串函数
2.1 LENGTH
计算字符串长度函数,返回字符串的字节长度
2.2 CONCAT
合并字符串函数,返回结果为连接参数产生的字符串,参数可以使一个或多个
2.3 INSERT
替换字符串函数
2.4 LOWER
将字符串中的字母转换为小写
2.5 UPPER
将字符串中的字母转换为大写
2.6 LEFT
从左侧字截取符串,返回字符串左边的若干个字符
2.7 RIGHT
从右侧字截取符串,返回字符串右边的若干个字符
2.8 TRIM
删除字符串左右两侧的空格
2.9 REPLACE
字符串替换函数,返回替换后的新字符串
2.10 SUBSTRING
截取字符串,返回从指定位置开始的指定长度的字符换
2.11 REVERSE
字符串反转(逆序)函数,返回与原始字符串顺序相反的字符串
3 MySQL 日期和时间函数
3.1 CURDATE 和 CURRENT_DATE
两个函数作用相同,返回当前系统的日期值
3.2 CURTIME 和 CURRENT_TIME
两个函数作用相同,返回当前系统的时间值
3.3 NOW 和 SYSDATE
两个函数作用相同,返回当前系统的日期和时间值
3.4 UNIX_TIMESTAMP
获取UNIX时间戳函数,返回一个以 UNIX 时间戳为基础的无符号整数
3.5 FROM_UNIXTIME
将 UNIX 时间戳转换为时间格式,与UNIX_TIMESTAMP互为反函数
3.6 MONTH
获取指定日期中的月份
3.7 MONTHNAME
获取指定日期中的月份英文名称
3.8 DAYNAME
获取指定曰期对应的星期几的英文名称
3.9 DAYOFWEEK
获取指定日期对应的一周的索引位置值
3.10 WEEK
获取指定日期是一年中的第几周,返回值的范围是否为 0〜52 或 1〜53
3.11 DAYOFYEAR
获取指定曰期是一年中的第几天,返回值范围是1~366
3.12 DAYOFMONTH
获取指定日期是一个月中是第几天,返回值范围是1~31
3.13 YEAR
获取年份,返回值范围是 1970〜2069
3.14 TIME_TO_SEC
将时间参数转换为秒数
3.15 SEC_TO_TIME
将秒数转换为时间,与TIME_TO_SEC 互为反函数
3.16 DATE_ADD 和 ADDDATE
两个函数功能相同,都是向日期添加指定的时间间隔
3.17 DATE_SUB 和 SUBDATE
两个函数功能相同,都是向日期减去指定的时间间隔
3.18 ADDTIME
时间加法运算,在原始时间上添加指定的时间
3.19 SUBTIME
时间减法运算,在原始时间上减去指定的时间
3.20 DATEDIFF
获取两个日期之间间隔,返回参数 1 减去参数 2 的值
3.21 DATE_FORMAT
格式化指定的日期,根据参数返回指定格式的值
3.22 WEEKDAY
获取指定日期在一周内的对应的工作日索引
4 MySQL 聚合函数
4.1 MAX
查询指定列的最大值
4.2 MIN
查询指定列的最小值
4.3 COUNT
统计查询结果的行数
4.4 SUM
求和,返回指定列的总和
4.5 AVG
求平均值,返回指定列数据的平均值
5 MySQL 流程控制函数
5.1 IF
IF 语句允许您根据表达式的某个条件或值结果来执行一组 SQL 语句。
要在 MySQL 中形成一个表达式,可以结合文字,变量,运算符,甚至函数来组合。表达式可以返回 TRUE,FALSE 或 NULL,这三个值之一。
语法结构如下:
IF(expr,v1,v2)
其中:表达式 expr 得到不同的结果,当 expr 为真是返回 v1 的值,否则返回 v2.
5.2 IFNULL
IFNULL 函数是 MySQL 控制流函数之一,它接受两个参数,如果不是 NULL,则返回第一个参数。 否则,IFNULL 函数返回第二个参数。两个参数可以是文字值或表达式。
函数的语法:
IFNULL(v1,v2);
其中:如果 v1 不为 NULL,则 IFNULL 函数返回 v1; 否则返回 v2 的结果。
5.3 CASE
CASE 语句使代码更加可读和高效。
CASE 语句有两种形式:简单的和可搜索 CASE 语句。
5.3.1 简单的 CASE 语句
简单的 CASE 语句就是指使用简单 CASE 语句来检查表达式的值与一组唯一值的匹配。
简单的 CASE 语句的语法:
CASE <表达式>
WHEN <值1> THEN <操作>
WHEN <值2> THEN <操作>
...
ELSE <操作>
END CASE;
其中:<表达式> 可以是任何有效的表达式。我们将 <表达式> 的值与每个 WHEN 子句中的值进行比较,例如 <值1>,<值2> 等。如果 <表达式> 和 <值n> 的值相等,则执行相应的 WHEN 分支中的命令 <操作>。如果 WHEN 子句中的 <值n> 没有与 <表达式> 的值匹配,则 ELSE 子句中的命令将被执行。ELSE 子句是可选的。 如果省略 ELSE 子句,并且找不到匹配项,MySQL 将引发错误。
5.3.2 可搜索的 CASE 语句
简单 CASE 语句仅允许将表达式的值与一组不同的值进行匹配。 为了执行更复杂的匹配,如范围,则可以使用可搜索 CASE 语句。 可搜索 CASE 语句等同于 IF 语句,但是它的构造更加可读。
可搜索CASE语句的语法:
CASE
WHEN <条件1> THEN <命令>
WHEN <条件2> THEN <命令>
...
ELSE commands
END CASE;
MySQL 分别计算 WHEN 子句中的每个条件,直到找到一个值为 TRUE 的条件,然后执行 THEN 子句中的相应 <命令>。如果没有一个条件为 TRUE,则执行 ELSE 子句中的 <命令>。如果不指定 ELSE 子句,并且没有一个条件为 TRUE,MySQL 将发出错误消息。MySQL 不允许在 THEN 或 ELSE 子句中使用空的命令。 如果您不想处理 ELSE 子句中的逻辑,同时又要防止 MySQL 引发错误,则可以在 ELSE 子句中放置一个空的 BEGIN END 块。