<domain_or_non_array_type> ::=
<scalar_datatype>
| <blob_datatype>
| [TYPE OF] domain
| TYPE OF COLUMN rel.col
<scalar_datatype> ::=
{SMALLINT | INT[EGER] | BIGINT | INT128}
| BOOLEAN
| {FLOAT | REAL | DOUBLE PRECISION}
| [LONG] FLOAT [(binary-precision)]
| DECFLOAT[({16 | 34})]
| DATE
| {TIME | TIMESTAMP} [{WITH | WITHOUT} TIME ZONE]
| {DECIMAL | NUMERIC} [(precision [, scale])]
| {VARCHAR | {CHAR | CHARACTER} VARYING} (length)
[CHARACTER SET charset]
| {CHAR | CHARACTER} [(length)] [CHARACTER SET charset]
| {NCHAR | NATIONAL {CHARACTER | CHAR}} VARYING (length)
| {NCHAR | NATIONAL {CHARACTER | CHAR}} [(length)]