文档主页
MySQL 8.4 参考手册
相关文档 下载本手册

MySQL 8.4 参考手册  /  函数和运算符

第 14 章 函数和运算符

目录

14.1 内置函数和运算符参考
14.2 可加载函数参考
14.3 表达式求值中的类型转换
14.4 运算符
14.4.1 运算符优先级
14.4.2 比较函数和运算符
14.4.3 逻辑运算符
14.4.4 赋值运算符
14.5 流程控制函数
14.6 数值函数和运算符
14.6.1 算术运算符
14.6.2 数学函数
14.7 日期和时间函数
14.8 字符串函数和运算符
14.8.1 字符串比较函数和运算符
14.8.2 正则表达式
14.8.3 函数结果的字符集和排序规则
14.9 全文搜索函数
14.9.1 自然语言全文搜索
14.9.2 布尔全文搜索
14.9.3 使用查询扩展进行全文搜索
14.9.4 全文停用词
14.9.5 全文限制
14.9.6 微调 MySQL 全文搜索
14.9.7 为全文索引添加用户定义的排序规则
14.9.8 ngram 全文解析器
14.9.9 MeCab 全文解析器插件
14.10 强制转换函数和运算符
14.11 XML 函数
14.12 位函数和运算符
14.13 加密和压缩函数
14.14 锁定函数
14.15 信息函数
14.16 空间分析函数
14.16.1 空间函数参考
14.16.2 空间函数的参数处理
14.16.3 从 WKT 值创建几何值的函数
14.16.4 从 WKB 值创建几何值的函数
14.16.5 创建几何值的 MySQL 特定函数
14.16.6 几何格式转换函数
14.16.7 几何属性函数
14.16.8 空间运算符函数
14.16.9 测试几何对象之间空间关系的函数
14.16.10 空间地理哈希函数
14.16.11 空间 GeoJSON 函数
14.16.12 空间聚合函数
14.16.13 空间便捷函数
14.17 JSON 函数
14.17.1 JSON 函数参考
14.17.2 创建 JSON 值的函数
14.17.3 搜索 JSON 值的函数
14.17.4 修改 JSON 值的函数
14.17.5 返回 JSON 值属性的函数
14.17.6 JSON 表函数
14.17.7 JSON 模式验证函数
14.17.8 JSON 实用函数
14.18 复制函数
14.18.1 组复制函数
14.18.2 与全局事务标识符 (GTID) 一起使用的函数
14.18.3 异步复制通道故障转移函数
14.18.4 基于位置的同步函数
14.19 聚合函数
14.19.1 聚合函数说明
14.19.2 GROUP BY 修饰符
14.19.3 MySQL 对 GROUP BY 的处理
14.19.4 函数依赖的检测
14.20 窗口函数
14.20.1 窗口函数说明
14.20.2 窗口函数概念和语法
14.20.3 窗口函数框架规范
14.20.4 命名窗口
14.20.5 窗口函数限制
14.21 性能模式函数
14.22 内部函数
14.23 杂项函数
14.24 精确数学
14.24.1 数值类型
14.24.2 DECIMAL 数据类型特征
14.24.3 表达式处理
14.24.4 舍入行为
14.24.5 精确数学示例

表达式可以在 SQL 语句中的多个位置使用,例如 SELECT 语句的 ORDER BYHAVING 子句中,SELECTDELETEUPDATE 语句的 WHERE 子句中,或 SET 语句中。表达式可以使用来自多个来源的值编写,例如文字值、列值、NULL、变量、内置函数和运算符、可加载函数和存储函数(一种存储对象)。

本章介绍了在 MySQL 中编写表达式时允许使用的内置函数和运算符。有关可加载函数和存储函数的信息,请参阅 第 7.7 节 “MySQL 服务器可加载函数”第 27.2 节 “使用存储例程”。有关描述服务器如何解释对不同类型函数的引用的规则,请参阅 第 11.2.5 节 “函数名称解析和解析”

包含 NULL 的表达式始终会生成 NULL 值,除非特定函数或运算符的文档中另有说明。

注意

默认情况下,函数名称与其后的括号之间必须没有空格。这有助于 MySQL 解析器区分函数调用和对碰巧与函数同名的表或列的引用。但是,函数参数周围允许有空格。

要告知 MySQL 服务器接受函数名称后的空格,请使用 --sql-mode=IGNORE_SPACE 选项启动它。(请参阅 第 7.1.11 节 “服务器 SQL 模式”。)各个客户端程序可以通过对 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