A column expression, which is designated as
column_expression in subsequent syntax diagrams, is a limited form of
expr. A column expression can be a simple expression, compound expression, function expression, or expression list, but it can contain only the following forms of expression:
Columns of the subject table — the table being created, altered, or indexed
Constants (strings or numbers)
Deterministic functions — either SQL built-in functions or user-defined functions
No other expression forms described in this chapter are valid. In addition, compound expressions using the
PRIOR keyword are not supported, nor are aggregate functions.
You can use a column expression for these purposes:
To create a function-based index.
To explicitly or implicitly define a virtual column. When you define a virtual column, the defining
column_expression must refer only to columns of the subject table that have already been defined, in the current statement or in a prior statement.
The combined components of a column expression must be deterministic. That is, the same set of input values must return the same set of output values.