MySQL 8.4 发行说明
目录
表达式可以在 SQL
语句中的多个位置使用,例如 SELECT
语句的 ORDER BY
或 HAVING
子句中,SELECT
、DELETE
或 UPDATE
语句的 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