表达式语法 (Expression Syntax)
表达式是一个或多个值、操作符或函数的组合。在 TiDB 中,表达式主要使用在 SELECT 语句的各个子句中,包括 Group by 子句、Where 子句、Having 子句、Join 条件以及窗口函数等。此外,部分 DDL 语句也会使用到表达式,例如建表时默认值的设置、生成列的设置,分区规则等。
表达式包含几种类型:
- 标识符,可参考模式对象名。
- 谓词、数值、字符串、日期表达式等,这些类型的字面值也是表达式。
- 函数调用,窗口函数等。可参考函数和操作符概述和窗口函数。
- 其他,包括 paramMarker(即
?)、系统变量和用户变量、CASE 表达式等。
以下规则是表达式的语法,该语法基于 TiDB parser 的 parser.y 文件中所定义的规则。
- Expression
-
- PredicateExpr
-
- BitExpr
-
- SimpleExpr
-