12.1 功能和操作员参考

下 table 列出了每个 SQL 函数和运算符,并提供了每个函数的简短说明。有关列出用户定义功能的 table,请参见第 5.6.1 节“用户定义的函数参考”

table12.1 函数和运算符

NameDescription
&Bitwise AND
>大于运算符
>>Right shift
>=大于或等于运算符
<少于运算符
<>, !=不等于运算符
<<Left shift
<=小于或等于运算符
<=>NULL 安全等于运算符
%, MODModulo operator
*Multiplication operator
+Addition operator
-Minus operator
-更改参数的符号
->评估路径后从 JSON 列返回值;等效于 JSON_EXTRACT()。
->>(引入 5.7.13)评估路径并取消引用结果后,从 JSON 列返回值;等效于 JSON_UNQUOTE(JSON_EXTRACT())。
/Division operator
:=赋值
=分配一个值(作为SET语句的一部分或UPDATE语句的SET子句的一部分)
=Equal operator
^Bitwise XOR
ABS()返回绝对值
ACOS()返回反余弦
ADDDATE()将时间值(间隔)添加到日期值
ADDTIME()Add time
AES_DECRYPT()使用 AES 解密
AES_ENCRYPT()使用 AES 加密
AND, &&Logical AND
ANY_VALUE()禁止拒绝 ONLY_FULL_GROUP_BY 值
Area() (deprecated)返回多边形或多多边形区域
AsBinary(), AsWKB() (deprecated)从内部几何格式转换为 WKB
ASCII()返回最左边字符的数值
ASIN()返回反正弦
AsText(), AsWKT() (deprecated)从内部几何格式转换为 WKT
ASYMMETRIC_DECRYPT()使用私钥或公钥解密密文
ASYMMETRIC_DERIVE()从非对称密钥派生对称密钥
ASYMMETRIC_ENCRYPT()使用私钥或公钥加密明文
ASYMMETRIC_SIGN()从摘要生成签名
ASYMMETRIC_VERIFY()验证签名匹配摘要
ATAN()返回反正切
ATAN2(), ATAN()返回两个参数的反正切
AVG()返回参数的平均值
BENCHMARK()重复执行一个 table 达式
之间 ...值是否在值范围内
BIN()返回包含数字的二进制 table 示形式的字符串
BINARY将字符串转换为二进制字符串
BIT_AND()按位返回 AND
BIT_COUNT()返回设置的位数
BIT_LENGTH()返回参数的长度(以位为单位)
BIT_OR()按位返回 OR
BIT_XOR()返回按位异或
Buffer() (deprecated)返回距几何指定距离内的点的几何
CASECase operator
CAST()将值强制转换为特定类型
CEIL()返回不小于参数的最小整数值
CEILING()返回不小于参数的最小整数值
Centroid() (deprecated)返回质心为点
CHAR()返回每个传递的整数的字符
CHAR_LENGTH()返回参数中的字符数
CHARACTER_LENGTH()CHAR_LENGTH()的同义词
CHARSET()返回参数的字符集
COALESCE()返回第一个非 NULL 参数
COERCIBILITY()返回字符串参数的排序规则强制性值
COLLATION()返回字符串参数的排序规则
COMPRESS()以二进制字符串形式返回结果
CONCAT()返回串联的字符串
CONCAT_WS()返回用分隔符连接
CONNECTION_ID()返回连接的连接 ID(线程 ID)
Contains() (deprecated)一个几何的 MBR 是否包含另一个几何的 MBR
CONV()在不同的基数之间转换数字
CONVERT()将值强制转换为特定类型
CONVERT_TZ()从一个时区转换到另一个时区
ConvexHull() (deprecated)返回几何的凸包
COS()返回余弦
COT()返回余切
COUNT()返回计数返回的行数
COUNT(DISTINCT)返回多个不同值的计数
CRC32()计算循环冗余校验值
CREATE_ASYMMETRIC_PRIV_KEY()创建私钥
CREATE_ASYMMETRIC_PUB_KEY()创建公钥
CREATE_DH_PARAMETERS()生成共享的 DH 机密
CREATE_DIGEST()从字符串生成摘要
Crosses() (deprecated)一个几何图形是否交叉
CURDATE()返回当前日期
CURRENT_DATE(), CURRENT_DATECURDATE()的同义词
CURRENT_TIME(), CURRENT_TIMECURTIME()的同义词
CURRENT_TIMESTAMP(), CURRENT_TIMESTAMPNOW()的同义词
CURRENT_USER(), CURRENT_USER经过身份验证的用户名和主机名
CURTIME()返回当前时间
DATABASE()返回默认(当前)数据库名称
DATE()提取日期或日期时间 table 达式的日期部分
DATE_ADD()将时间值(间隔)添加到日期值
DATE_FORMAT()指定格式日期
DATE_SUB()从日期中减去时间值(间隔)
DATEDIFF()减去两个日期
DAY()DAYOFMONTH()的同义词
DAYNAME()返回工作日的名称
DAYOFMONTH()返回月份中的一天(0-31)
DAYOFWEEK()返回参数的工作日索引
DAYOFYEAR()返回一年中的某天(1-366)
DECODE() (deprecated)解码使用 ENCODE()加密的字符串
DEFAULT()返回 table 列的默认值
DEGREES()将弧度转换为度
DES_DECRYPT() (deprecated)解密字符串
DES_ENCRYPT() (deprecated)加密字符串
Dimension() (deprecated)几何尺寸
Disjoint() (deprecated)两个几何的 MBR 是否不相交
Distance() (deprecated)一种几何形状与另一种几何形状的距离
DIVInteger division
ELT()返回索引号处的字符串
ENCODE() (deprecated)编码字符串
ENCRYPT() (deprecated)加密字符串
EndPoint() (deprecated)LineString 的 endpoints
Envelope() (deprecated)返回几何的 MBR
Equals() (deprecated)两个几何的 MBR 是否相等
EXP()提升力量
EXPORT_SET()返回一个字符串,这样对于值位中设置的每个位,您将获得一个打开的字符串,对于每个未设置的位,您将获得一个关闭的字符串
ExteriorRing() (deprecated)返回多边形的外圈
EXTRACT()提取部分日期
ExtractValue()使用 XPathtable 示法从 XML 字符串中提取值
FIELD()后续参数中第一个参数的索引(位置)
FIND_IN_SET()第二个参数中第一个参数的索引(位置)
FLOOR()返回不大于参数的最大整数值
FORMAT()返回格式化为指定的小数位数的数字
FOUND_ROWS()对于带有 LIMIT 子句的 SELECT,如果没有 LIMIT 子句,则将返回的行数
FROM_BASE64()解码 base64 编码的字符串并返回结果
FROM_DAYS()将天数转换为日期
FROM_UNIXTIME()将 Unix 时间戳记格式化为日期
GeomCollFromText(), GeometryCollectionFromText() (deprecated)从 WKT 返回几何集合
GeomCollFromWKB(), GeometryCollectionFromWKB() (deprecated)从 WKB 返回几何集合
GeometryCollection()从几何构造几何集合
GeometryN() (deprecated)从几何集合返回第 N 个几何
GeometryType() (deprecated)返回几何类型的名称
GeomFromText(), GeometryFromText() (deprecated)从 WKT 返回几何
GeomFromWKB(), GeometryFromWKB() (deprecated)从 WKB 返回几何
GET_FORMAT()返回日期格式字符串
GET_LOCK()获取命名锁
GLength() (deprecated)返回 LineString 的长度
GREATEST()返回最大参数
GROUP_CONCAT()返回串联的字符串
GTID_SUBSET()如果子集中的所有 GTID 也都已设置,则返回 true;否则,返回 true。否则为假。
GTID_SUBTRACT()返回集合中所有不在子集中的 GTID。
HEX()十进制或字符串值的十六进制 table 示
HOUR()提取时间
IF()If/else construct
IFNULL()空 if/else 构造
IN()一个值是否在一组值内
INET_ATON()返回 IP 地址的数值
INET_NTOA()从数值返回 IP 地址
INET6_ATON()返回 IPv6 地址的数值
INET6_NTOA()从数值返回 IPv6 地址
INSERT()在指定位置插入子字符串,最多指定字符数
INSTR()返回第一次出现的子串的索引
InteriorRingN() (deprecated)返回多边形的第 N 个内环
Intersects() (deprecated)两个几何的 MBR 是否相交
INTERVAL()返回小于第一个参数的参数的索引
IS针对布尔值测试值
IS_FREE_LOCK()命名锁是否免费
IS_IPV4()参数是否为 IPv4 地址
IS_IPV4_COMPAT()参数是否为 IPv4 兼容地址
IS_IPV4_MAPPED()参数是否为 IPv4Map 的地址
IS_IPV6()参数是否为 IPv6 地址
IS NOT针对布尔值测试值
不为空非空值测试
IS NULL空值测试
IS_USED_LOCK()是否使用了命名锁;如果为 true,则返回连接标识符
IsClosed() (deprecated)几何是否闭合且简单
IsEmpty() (deprecated)几何是否为空
ISNULL()测试参数是否为 NULL
IsSimple() (deprecated)几何是否简单
JSON_APPEND() (deprecated)将数据附加到 JSON 文档
JSON_ARRAY()创建 JSON 数组
JSON_ARRAY_APPEND()将数据附加到 JSON 文档
JSON_ARRAY_INSERT()插入 JSON 数组
JSON_ARRAYAGG()(引入 5.7.22)将结果集作为单个 JSON 数组返回
JSON_CONTAINS()JSON 文档是否在路径中包含特定对象
JSON_CONTAINS_PATH()JSON 文档是否在路径中包含任何数据
JSON_DEPTH()JSON 文档的最大深度
JSON_EXTRACT()从 JSON 文档返回数据
JSON_INSERT()将数据插入 JSON 文档
JSON_KEYS()JSON 文档中的键数组
JSON_LENGTH()JSON 文档中的元素数
JSON_MERGE()(不建议使用 5.7.22)合并 JSON 文档,保留重复的键。 JSON_MERGE_PRESERVE()的已弃用同义词
JSON_MERGE_PATCH()(引入 5.7.22)合并 JSON 文档,替换重复键的值
JSON_MERGE_PRESERVE()(引入 5.7.22)合并 JSON 文档,保留重复的键
JSON_OBJECT()创建 JSON 对象
JSON_OBJECTAGG()(引入 5.7.22)将结果集作为单个 JSON 对象返回
JSON_PRETTY()(引入 5.7.22)以易于阅读的格式打印 JSON 文档
JSON_QUOTE()引用 JSON 文档
JSON_REMOVE()从 JSON 文档中删除数据
JSON_REPLACE()替换 JSON 文档中的值
JSON_SEARCH()JSON 文档中值的路径
JSON_SET()将数据插入 JSON 文档
JSON_STORAGE_SIZE()(引入 5.7.22)用于存储 JSON 文档的二进制 table 示形式的空间
JSON_TYPE()JSON 值类型
JSON_UNQUOTE()取消引用 JSON 值
JSON_VALID()JSON 值是否有效
LAST_DAY返回参数的月份的最后一天
LAST_INSERT_ID()最后一个 INSERT 的 AUTOINCREMENT 列的值
LCASE()LOWER()的同义词
LEAST()返回最小的参数
LEFT()返回指定的最左边的字符数
LENGTH()返回字符串的长度(以字节为单位)
LIKE简单模式匹配
LineFromText(), LineStringFromText() (deprecated)从 WKT 构造 LineString
LineFromWKB(), LineStringFromWKB() (deprecated)从 WKB 构造 LineString
LineString()从 Point 值构造 LineString
LN()返回参数的自然对数
LOAD_FILE()加载命名文件
LOCALTIME(), LOCALTIMENOW()的同义词
LOCALTIMESTAMP, LOCALTIMESTAMP()NOW()的同义词
LOCATE()返回子字符串第一次出现的位置
LOG()返回第一个参数的自然对数
LOG10()返回参数的以 10 为底的对数
LOG2()返回参数的以 2 为底的对数
LOWER()以小写形式返回参数
LPAD()返回字符串参数,用指定的字符串左填充
LTRIM()删除前导空格
MAKE_SET()返回一组逗号分隔的字符串,这些字符串在位中具有相应的位
MAKEDATE()从一年中的年月日创建日期
MAKETIME()从小时,分钟,秒创建时间
MASTER_POS_WAIT()阻塞直到从站读取并应用所有更新到指定位置
MATCH执行全文搜索
MAX()返回最大值
MBRContains()一个几何的 MBR 是否包含另一个几何的 MBR
MBRCoveredBy()一个 MBR 是否被另一个覆盖
MBRCovers()一个 MBR 是否涵盖另一个
MBRDisjoint()两个几何的 MBR 是否不相交
MBREqual() (deprecated)两个几何的 MBR 是否相等
MBREquals()两个几何的 MBR 是否相等
MBRIntersects()两个几何的 MBR 是否相交
MBROverlaps()两个几何的 MBR 是否重叠
MBRTouches()两个几何的 MBR 是否接触
MBRWithin()一个几何的 MBR 是否在另一个几何的 MBR 内
MD5()计算 MD5 校验和
MICROSECOND()从参数返回微秒
MID()返回从指定位置开始的子字符串
MIN()返回最小值
MINUTE()返回参数的分钟
MLineFromText(), MultiLineStringFromText() (deprecated)从 WKT 构造 MultiLineString
MLineFromWKB(), MultiLineStringFromWKB() (deprecated)从 WKB 构造 MultiLineString
MOD()退还剩余
MONTH()返回经过日期的月份
MONTHNAME()返回月份名称
MPointFromText(), MultiPointFromText() (deprecated)从 WKT 构造 MultiPoint
MPointFromWKB(), MultiPointFromWKB() (deprecated)从 WKB 构造 MultiPoint
MPolyFromText(), MultiPolygonFromText() (deprecated)从 WKT 构造 MultiPolygon
MPolyFromWKB(), MultiPolygonFromWKB() (deprecated)从 WKB 构造 MultiPolygon
MultiLineString()从 LineString 值构造 MultiLineString
MultiPoint()从 Point 值构造 MultiPoint
MultiPolygon()从多边形值构造 MultiPolygon
NAME_CONST()使列具有给定名称
NOT, !Negates value
...之间和...之间值是否不在值范围内
NOT IN()一个值是否不在一组值内
NOT LIKE否定简单模式匹配
NOT REGEXP否 REGEXP
NOW()返回当前日期和时间
NULLIF()如果 expr1 = expr2,则返回 NULL
NumGeometries() (deprecated)返回几何集合中的几何数量
NumInteriorRings() (deprecated)返回多边形内环的数量
NumPoints() (deprecated)返回 LineString 中的点数
OCT()返回包含数字的八进制 table 示形式的字符串
OCTET_LENGTH()LENGTH()的同义词
OR, ||Logical OR
ORD()返回参数最左边字符的字符代码
Overlaps() (deprecated)两个几何的 MBR 是否重叠
PASSWORD() (deprecated)计算并返回密码字符串
PERIOD_ADD()在一年的月份中添加一个期间
PERIOD_DIFF()返回期间之间的月数
PI()返回 pi 的值
Point()从坐标构造点
PointFromText() (deprecated)WKT 的构造点
PointFromWKB() (deprecated)WKB 的构造点
PointN() (deprecated)从 LineString 返回第 N 个点
PolyFromText(), PolygonFromText() (deprecated)从 WKT 构造多边形
PolyFromWKB(), PolygonFromWKB() (deprecated)从 WKB 构造多边形
Polygon()从 LineString 参数构造多边形
POSITION()LOCATE()的同义词
POW()将自变量提高到指定的幂
POWER()将自变量提高到指定的幂
PROCEDURE ANALYSE()(不建议使用 5.7.18)分析查询结果
QUARTER()从日期参数返回季度
QUOTE()转义要在 SQL 语句中使用的参数
RADIANS()返回参数转换为弧度
RAND()返回一个随机浮点值
RANDOM_BYTES()返回一个随机字节向量
REGEXP字符串是否匹配正则 table 达式
RELEASE_ALL_LOCKS()释放所有当前命名的锁
RELEASE_LOCK()释放命名的锁
REPEAT()重复字符串指定次数
REPLACE()替换出现的指定字符串
REVERSE()反转字符串中的字符
RIGHT()返回指定的最右边字符
RLIKE字符串是否匹配正则 table 达式
ROUND()围绕论点
ROW_COUNT()更新的行数
RPAD()将字符串追加指定次数
RTRIM()删除尾随空格
SCHEMA()DATABASE()的同义词
SEC_TO_TIME()将秒转换为“ hh:mm:ss”格式
SECOND()返回第二个(0-59)
SESSION_USER()USER()的同义词
SHA1(), SHA()计算 SHA-1 160 位校验和
SHA2()计算 SHA-2 校验和
SIGN()返回参数的符号
SIN()返回参数的正弦
SLEEP()睡觉几秒钟
SOUNDEX()返回 soundex 字符串
SOUNDS LIKECompare sounds
SPACE()返回指定数量的字符串
SQRT()返回参数的平方根
SRID() (deprecated)返回几何的空间参考系统 ID
ST_Area()返回多边形或多多边形区域
ST_AsBinary(), ST_AsWKB()从内部几何格式转换为 WKB
ST_AsGeoJSON()从几何体生成 GeoJSON 对象
ST_AsText(), ST_AsWKT()从内部几何格式转换为 WKT
ST_Buffer()返回距几何指定距离内的点的几何
ST_Buffer_Strategy()产生 ST_Buffer()的策略选项
ST_Centroid()返回质心为点
ST_Contains()一个几何是否包含另一个
ST_ConvexHull()返回几何的凸包
ST_Crosses()一个几何图形是否交叉
ST_Difference()两个几何的返回点设置差
ST_Dimension()几何尺寸
ST_Disjoint()一个几何是否与另一个几何不相交
ST_Distance()一种几何形状与另一种几何形状的距离
ST_Distance_Sphere()两个几何之间的最小地球距离
ST_EndPoint()LineString 的 endpoints
ST_Envelope()返回几何的 MBR
ST_Equals()一个几何是否等于另一个
ST_ExteriorRing()返回多边形的外圈
ST_GeoHash()产生一个哈希值
ST_GeomCollFromText(),ST_GeometryCollectionFromText(),ST_GeomCollFromTxt()从 WKT 返回几何集合
ST_GeomCollFromWKB(), ST_GeometryCollectionFromWKB()从 WKB 返回几何集合
ST_GeometryN()从几何集合返回第 N 个几何
ST_GeometryType()返回几何类型的名称
ST_GeomFromGeoJSON()从 GeoJSON 对象生成几何
ST_GeomFromText(), ST_GeometryFromText()从 WKT 返回几何
ST_GeomFromWKB(), ST_GeometryFromWKB()从 WKB 返回几何
ST_InteriorRingN()返回多边形的第 N 个内环
ST_Intersection()返回点设置两个几何的交点
ST_Intersects()一个几何是否相交
ST_IsClosed()几何是否闭合且简单
ST_IsEmpty()几何是否为空
ST_IsSimple()几何是否简单
ST_IsValid()几何是否有效
ST_LatFromGeoHash()从 geohash 值返回纬度
ST_Length()返回 LineString 的长度
ST_LineFromText(), ST_LineStringFromText()从 WKT 构造 LineString
ST_LineFromWKB(), ST_LineStringFromWKB()从 WKB 构造 LineString
ST_LongFromGeoHash()从 geohash 值返回经度
ST_MakeEnvelope()围绕两点的矩形
ST_MLineFromText(), ST_MultiLineStringFromText()从 WKT 构造 MultiLineString
ST_MLineFromWKB(), ST_MultiLineStringFromWKB()从 WKB 构造 MultiLineString
ST_MPointFromText(), ST_MultiPointFromText()从 WKT 构造 MultiPoint
ST_MPointFromWKB(), ST_MultiPointFromWKB()从 WKB 构造 MultiPoint
ST_MPolyFromText(), ST_MultiPolygonFromText()从 WKT 构造 MultiPolygon
ST_MPolyFromWKB(), ST_MultiPolygonFromWKB()从 WKB 构造 MultiPolygon
ST_NumGeometries()返回几何集合中的几何数量
ST_NumInteriorRing(), ST_NumInteriorRings()返回多边形内环的数量
ST_NumPoints()返回 LineString 中的点数
ST_Overlaps()一个几何是否重叠
ST_PointFromGeoHash()将 geohash 值转换为 POINT 值
ST_PointFromText()WKT 的构造点
ST_PointFromWKB()WKB 的构造点
ST_PointN()从 LineString 返回第 N 个点
ST_PolyFromText(), ST_PolygonFromText()从 WKT 构造多边形
ST_PolyFromWKB(), ST_PolygonFromWKB()从 WKB 构造多边形
ST_Simplify()返回简化的几何
ST_SRID()返回几何的空间参考系统 ID
ST_StartPoint()LineString 的起点
ST_SymDifference()返回点设置两个几何的对称差
ST_Touches()一种几何是否接触另一种
ST_Union()返回点集两个几何的并集
ST_Validate()返回经过验证的几何
ST_Within()一个几何是否在另一个几何之内
ST_X()返回点的 X 坐标
ST_Y()返回点的 Y 坐标
StartPoint() (deprecated)LineString 的起点
STD()返回人口标准差
STDDEV()返回人口标准差
STDDEV_POP()返回人口标准差
STDDEV_SAMP()返回 sample 标准偏差
STR_TO_DATE()将字符串转换为日期
STRCMP()比较两个字符串
SUBDATE()用三个参数调用时 DATE_SUB()的同义词
SUBSTR()返回指定的子字符串
SUBSTRING()返回指定的子字符串
SUBSTRING_INDEX()在指定的定界符出现次数之前从字符串返回子字符串
SUBTIME()Subtract times
SUM()返回总和
SYSDATE()返回函数执行的时间
SYSTEM_USER()USER()的同义词
TAN()返回参数的正切值
TIME()提取传递的 table 达式的时间部分
TIME_FORMAT()格式化为时间
TIME_TO_SEC()返回参数转换为秒
TIMEDIFF()Subtract time
TIMESTAMP()仅使用一个参数,此函数将返回日期或日期时间 table 达式。有两个参数,参数的总和
TIMESTAMPADD()向日期时间 table 达式添加间隔
TIMESTAMPDIFF()从日期时间 table 达式中减去一个间隔
TO_BASE64()返回转换为以 64 为底的字符串的参数
TO_DAYS()返回日期参数转换为天
TO_SECONDS()返回从 Year 0 开始转换为秒的 date 或 datetime 参数
Touches() (deprecated)一种几何是否接触另一种
TRIM()删除前导和尾随空格
TRUNCATE()截断为指定的小数位数
UCASE()UPPER()的同义词
UNCOMPRESS()解压字符串压缩
UNCOMPRESSED_LENGTH()返回压缩前的字符串长度
UNHEX()返回包含数字的十六进制 table 示形式的字符串
UNIX_TIMESTAMP()返回 Unix 时间戳
UpdateXML()返回替换的 XML 片段
UPPER()转换为大写
USER()Client 端提供的用户名和主机名
UTC_DATE()返回当前 UTC 日期
UTC_TIME()返回当前 UTC 时间
UTC_TIMESTAMP()返回当前 UTC 日期和时间
UUID()返回通用唯一标识符(UUID)
UUID_SHORT()返回一个整数通用标识符
VALIDATE_PASSWORD_STRENGTH()确定密码强度
VALUES()定义在 INSERT 期间要使用的值
VAR_POP()返回总体标准方差
VAR_SAMP()返回 samples 方差
VARIANCE()返回总体标准方差
VERSION()返回指示 MySQL 服务器版本的字符串
WAIT_FOR_EXECUTED_GTID_SET()await 给定的 GTID 在从站上执行。
WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS()使用WAIT_FOR_EXECUTED_GTID_SET()
WEEK()返回星期数
WEEKDAY()返回工作日索引
WEEKOFYEAR()返回日期的 calendar 周(1-53)
WEIGHT_STRING()返回字符串的权重字符串
Within() (deprecated)一个几何的 MBR 是否在另一个几何的 MBR 内
X() (deprecated)返回点的 X 坐标
XORLogical XOR
Y() (deprecated)返回点的 Y 坐标
YEAR()返回年份
YEARWEEK()返回年和周
|Bitwise OR
~Bitwise inversion