The SQL type system is used by the language compiler to
determine the compile-time type of an expression and by the
language execution system to determine the runtime type of an
expression, which can be a subtype or implementation of the
compile-time type. Each type has associated with it values of
that type. In addition, values in the database or resulting from
expressions can be NULL, which means the value is missing or
unknown. Although there are some places where the keyword NULL
can be explicitly used, it is not in itself a value, because it
needs to have a type associated with it. The syntax presented in
this section is the syntax you use when specifying a column's
data type in a CREATE TABLE statement.