表达式可以在几个点中使用 SQL语句,比如在ORDER BY
或HAVING
子句SELECT
语句时,在WHERE
一个条款SELECT
,DELETE
或UPDATE
陈述,或SET
陈述。可以使用文字值,列值,NULL
内置函数,存储函数,用户定义的函数和运算符来编写表达式。本章描述了允许在MySQL中编写表达式的函数和运算符。“使用存储的例程”和“向MySQL添加函数”中给出了编写存储函数和用户定义函数的说明。。有关描述服务器如何解释对不同类型功能的引用的规则,请参见“函数名称解析和解析”。
除非文档中针对特定函数或运算符另有说明,否则包含的表达式NULL
始终会产生一个NULL
值。
注意默认情况下,函数名称和其后的括号之间必须没有空格。这有助于MySQL解析器区分函数调用和对恰好与函数同名的表或列的引用。但是,函数参数周围可以有空格。
您可以通过使用--sql-mode=IGNORE_SPACE
选项启动MySQL服务器,使其在函数名称后接受空格。(请参见“服务器SQL模式”。)单个客户端程序可以通过使用CLIENT_IGNORE_SPACE
选项来请求此行为mysql_real_connect()
。在任何一种情况下,所有函数名称都将成为保留字。
为了简洁起见,本章中的大多数示例均以缩写形式显示mysql程序的输出。而不是以这种格式显示示例:
mysql> SELECT MOD(29,9); +----------- + | mod(29,9) | +----------- + | 2 | +----------- + 1 rows in set (0.00 sec)
改用这种格式:
mysql> SELECT MOD(29,9); -> 2