列表达式(Column Expressions)是一种形式受限制的 expr
,在本章其他表达式的语法中被命名为 column_expression
。列表达式可以是 简单表达式、复合表达式、函数表达式 或者 表达式列表,但它只能包含以下形式的表达式:
目标表(被创建,变更或索引的表)的列。
常量(字符串或数字)。
确定性函数(SQL 内建函数或用户自定义函数)。
除以上形式表达式外,其它形式的表达式都不是有效的列表达式。此外,列表达式不支持使用 PRIOR
关键字的复合表达式与聚合函数。
使用列表达式可以实现以下目的:
创建基于函数的索引。
显式或隐式定义一个虚拟列。定义一个虚拟列时,
column_expression
只适用于在此前语句中已经定义的目标表的列。
列表达式的组件必须是确定的,也就是说,输入同样的值必须返回同样的输出值。