云数据库OceanBase入门教程 OceanBase 列表达式

2024-02-26 开发教程 云数据库OceanBase入门教程 匿名 3

列表达式(Column Expressions)是一种形式受限制的 expr,在本章其他表达式的语法中被命名为 column_expression。列表达式可以是 简单表达式、复合表达式、函数表达式 或者 表达式列表,但它只能包含以下形式的表达式:

  • 目标表(被创建,变更或索引的表)的列。
  • 常量(字符串或数字)。
  • 确定性函数(SQL 内建函数或用户自定义函数)。

除以上形式表达式外,其它形式的表达式都不是有效的列表达式。此外,列表达式不支持使用 PRIOR 关键字的复合表达式与聚合函数。

使用列表达式可以实现以下目的:

  • 创建基于函数的索引。
  • 显式或隐式定义一个虚拟列。定义一个虚拟列时,column_expression 只适用于在此前语句中已经定义的目标表的列。

列表达式的组件必须是确定的,也就是说,输入同样的值必须返回同样的输出值。