暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MySQL的函数和运算符 - 内置函数和运算符参考(1)

林员外聊编程 2021-05-22
203
概述
 
表达式可以在 SQL 语句中的多个位置使用,例如在 SELECT 语句的 ORDER BY HAVING 子句中,在 SELECTDELETE UPDATE 语句的 WHERE 子句中,或在 SET 语句中。可以使用来自多个源的值来编写表达式,例如字面量、列值、NULL、变量、内置函数和运算符、可加载函数和存储函数(存储对象的一种类型)。
 
本章介绍允许在 MySQL 中编写表达式的内置函数和运算符。
 
除非文档中对特定函数或运算符另有说明,否则包含 NULL 的表达式总是生成 NULL 值。
 
注意
 
默认情况下,函数名和它后面的括号之间不能有空格。这有助于 MySQL 解析器区分函数调用和对恰好与函数同名的表或列的引用。但是,函数参数周围允许有空格。
 
--sql-mode=IGNORE_SPACE 选项启动 MySQL 服务器,则是告诉它接受函数名后面的空格。单个客户端程序可以通过在调用 mysql_real_connect() 时使用 CLIENT_IGNORE_SPACE 选项,也能达到此效果。在这两种情况下,所有函数名都成为保留字。
 
为了简洁起见,一些示例以缩写形式显示 mysql 程序的输出。不是以这种格式显示示例:
 
mysql> SELECT MOD(29,9);
+-----------+
| mod(29,9) |
+-----------+
| 2 |
+-----------+
1 rows in set (0.00 sec)
 
改为使用此格式:
 
mysql> SELECT MOD(29,9);
-> 2
 
内置函数和运算符参考
 
下表列出了每个内置(原生)函数和运算符,并提供了每个函数和运算符的简短说明。
 
内置函数和运算符
 
名称
说明
加入
弃用
&
位与


>
大于


>>
右移


>=
大于等于


<
小于


<>, !=
不等于


<<
左移


<=
小于等于


<=>
可用于NULL的等于运算符


%, MOD
取模


*
乘法运算符


+
加法运算符


-
减法运算符


-
改变参数符号


->
计算路径后从 JSON 列返回值;相当于 JSON_EXTRACT()。


->>
计算路径并去除JSON字符串引号后返回的 JSON 列的值;相当于 JSON_UNQUOTE(JSON_EXTRACT())。


/
除法运算符


:=
赋值


=
赋值(作为 SET 语句的一部分,或作为 UPDATE 语句中 SET 子句的一部分)


=
相等运算符


^
按位异或


ABS()
返回绝对值


ACOS()
返回反余弦值


ADDDATE()
将时间值(间隔)添加到日期部分


ADDTIME()
添加时间


AES_DECRYPT()
使用AES解密


AES_ENCRYPT()
使用AES加密


AND, &&
逻辑与


ANY_VALUE()
解决由于 ONLY_FULL_GROUP_BY 引起的问题


ASCII()
返回最左边字符的数值


ASIN()
返回反正弦值


ATAN()
返回反正切


ATAN2(), ATAN()
返回两个参数的反正切值


AVG()
返回参数的平均值


BENCHMARK()
重复执行表达式


BETWEEN ... AND ...
值是否在某个范围内


BIN()
返回包含数字二进制表示形式的字符串


BIN_TO_UUID()
将二进制UUID转换为字符串


BINARY
将字符串转换为二进制字符串


BIT_AND()
返回按位与的结果


BIT_COUNT()
返回2进制表示中设置为1的位数


BIT_LENGTH()
返回以位为单位的参数长度


BIT_OR()
返回按位或的结果


BIT_XOR()
返回按位异或的结果


CAN_ACCESS_COLUMN()
仅供内部使用


CAN_ACCESS_DATABASE()
仅供内部使用


CAN_ACCESS_TABLE()
仅供内部使用


CAN_ACCESS_USER()
仅供内部使用
8.0.22

CAN_ACCESS_VIEW()
仅供内部使用


CASE
Case 操作符


CAST()
将值强制转换为特定类型


CEIL()
返回不小于参数的最小整数值


CEILING()
返回不小于参数的最小整数值


CHAR()
返回传递的每个整数的字符


CHAR_LENGTH()
返回参数中的字符数


CHARACTER_LENGTH()
CHAR_LENGTH() 的同义词


CHARSET()
返回参数的字符集


COALESCE()
返回第一个非 NULL 参数


COERCIBILITY()
返回字符串参数的排序规则强制值


COLLATION()
返回字符串参数的排序规则


COMPRESS()
以二进制字符串形式返回结果


CONCAT()
返回连接字符串


CONCAT_WS()
返回带分隔符的连接串


CONNECTION_ID()
返回连接ID(线程ID)


CONV()
在不同的基数之间转换数字


CONVERT()
将值强制转换为特定类型


CONVERT_TZ()
从一个时区转换到另一个时区


COS()
返回余弦值


COT()
返回余切值


COUNT()
返回行数


COUNT(DISTINCT)
返回去重复后值的计数


CRC32()
计算循环冗余校验值


CUME_DIST()
累积分布值


CURDATE()
返回当前日期


CURRENT_DATE(), CURRENT_DATE
CURDATE() 的同义词


CURRENT_ROLE()
返回当前活动的角色


CURRENT_TIME(), CURRENT_TIME
CURTIME() 的同义词


CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP
NOW() 的同义词


CURRENT_USER(), CURRENT_USER
经过身份验证的用户名和主机名


CURTIME()
返回当前时间


DATABASE()
返回默认(当前)数据库名称


DATE()
提取日期或日期时间表达式的日期部分


DATE_ADD()
将时间值(间隔)添加到日期值


DATE_FORMAT()
按规定设置日期格式


DATE_SUB()
从日期中减去时间值(间隔)


DATEDIFF()
返回两个日期之间的天数


DAY()
DAYOFMONTH()同义词


DAYNAME()
返回日期的星期名称


DAYOFMONTH()
返回月份中的日(0-31)


DAYOFWEEK()
返回参数的星期索引


DAYOFYEAR()
返回年中的某一天(1-366)


DEFAULT()
返回表列的默认值


DEGREES()
将弧度转换为度


DENSE_RANK()
当前行在其分区内的排名,排名值没有间隙


DIV
整数除法


ELT()
返回索引处的字符串


EXP()
自然对数的多少次方


 
 
 
 
官方网址:
https://dev.mysql.com/doc/refman/8.0/en/functions.html
https://dev.mysql.com/doc/refman/8.0/en/built-in-function-reference.html

文章转载自林员外聊编程,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论