表达式可以用在 SQL语句的几个点上,比如 SELECT
statements中 ORDER BY
or HAVING
clauses里面, SELECT,
DELETE
, or UPDATE
statemen的
WHERE
子句,表达式可以使用字面量值,列值, NULL,
built-in functions,stored functions, user-defined functions和操作符(operators),本章描述了允许在MySQL中编写表达式的函数和运算符。第23.2节“使用存储的例程”和 第28.4节“向MySQL添加函数”中给出了编写存储函数和用户定义函数的说明。 。有关描述服务器如何解释对不同类型功能的引用的规则,请参见 第9.2.5节“函数名称解析和解析”。
除非文档中针对特定函数或运算符另有说明,否则 包含的表达式NULL
始终会产生一个NULL
值。
注意默认情况下,函数名称和其后的括号之间必须没有空格。这有助于MySQL解析器区分函数调用和对恰好与函数同名的表或列的引用。但是,函数参数周围可以有空格。
您可以通过使用--sql-mode=IGNORE_SPACE
选项启动MySQL服务器,使其在函数名称后接受空格 。(请参见 第5.1.10节“服务器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