FirebirdSQL logo
 Структура языка SQLОбщие элементы языка 

Синтаксис объявления типа данных

В этом разделе описывается синтаксис объявления типов данных.Объявление типа данных чаще всего встречается в операторах DDL, но также в CASTи EXECUTE BLOCK.

На приведенный ниже синтаксис есть ссылки из других частей этого руководства.

Синтаксис скалярных типов данных

Скалярные типы данных — это простые типы данных, которые содержат одно значение.Синтаксис типов BLOB рассматривается отдельно в секции Синтаксисе типов данных BLOB.

Синтаксис:
<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)]
Table 1. Параметры декларации скалярных типов
Параметр Описание

domain

Имя домена (только не домены типа массив).

rel

Имя таблицы или представления.

col

Имя столбца таблицы или представления (только столбцы не типа массив).

binary-precision

Двоичная точность.От 1 до 53 бит.

precision

Десятичная точность.От 1 до 38 десятичных цифр.

scale

Масштаб или количество знаков после запятой.От 0 до 38.Оно должно быть меньше или равно точности.

length

Максимальная длина строки в символах.

charset

Набор символов.

domain_or_non_array_type

Типы, не являющиеся массивами, которые можно использовать в коде PSQL и операторе CAST.