原创

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 块。

正文到此结束
该篇文章的评论功能已被站长关闭
本文目录