Определение типа данных столбца
Спецификация
См. спецификацию пункта «Создание таблицы».
Синтаксические правила
-
Характеристика
<типов данных столбца>
приведена в разделе «Типы данных». -
Параметр
<длина>
типов данных CHAR, VARCHAR, BYTE, VARBYTE – положительное целое, не превосходящее 4000 символов. По умолчанию для типов данных CHAR и BYTE значение<длина>
считается равным 1. -
Параметр
<длина>
типов данных NCHAR, NCHAR VARYING – положительное целое, не превосходящее 2000 символов. По умолчанию для типа данных NCHAR<длина>
считается равной 1. -
По умолчанию точность типа данных REAL – 6 десятичных цифр.
-
По умолчанию точность типа данных DOUBLE – 15 десятичных цифр.
-
Тип данных FLOAT [(
<точность>
)] определяет приближенный тип данных (синоним типов данных REAL и DOUBLE).<Точность>
– целое положительное число в диапазоне от 1 до 53, задающее двоичную точность приближенного значения. Если<точность>
<= 24, это воспринимается как тип данных REAL, при значении<точности>
в диапазоне от 25 до 53 – как DOUBLE. Если<точность>
не задана, по умолчанию принимается DOUBLE.create or replace table test (col1 real, col2 DOUBLE PRECISION, col3 DOUBLE, col4 float(10), col5 FLOAT);
-
Тип данных DECIMAL | DEC | NUMERIC задает знаковое или беззнаковое десятичное число с общим количеством цифр не более 30 (включая лидирующие и завершающие нули, атрибут
<точность>
) и максимум 10 цифр справа от десятичной точки (включая младшие нули, атрибут<мантисса>
). -
Максимальное количество столбцов в одной таблице не должно превышать 250.
-
В качестве
<кодировки>
для BLOB-столбцов можно использовать имена однобайтовых (CP866, CP1251, KOI8-R, …), многобайтовых (UTF-8, EUC-JP, CP932, …) и UNICODE (UCS2) кодировок. -
Опция CHARACTER SET
<кодировка>
применительно к столбцу с символьным типом данных задает кодировку конкретно этого столбца. Данная кодировка является приоритетной по сравнению с кодировкой, заданной для всей таблицы.create or replace table test character set "KOI8-R" (col1 char(10) character set cp1251, col2 nchar(50), col3 varchar(200) character set "CP866", col4 char(66));
-
При создании системных таблиц для символьных данных всегда используется кодировка системного словаря (DEFAULT) или заданная командой SET DATABASE NAMES.
-
Для обычных базовых таблиц, если
<кодировка>
CHAR/VARCAHAR/BLOB-столбца не задана:-
используется кодировка, установленная для таблицы;
-
если кодировка для таблицы не задана, то используется кодировка, заданная командой SET NAMES;
-
если не задана ни одна из кодировок предыдущих пунктов, то используется кодировка DEFAULT с идентификатором #0 (кодировка поддерживает первые 128 символов кодировки "CP437").
-
-
Опция
ROOT <каталог>
задает местоположение на диске внешних файлов столбца данных типа EXTFILE (по умолчанию, если опция не задана, используется каталог БД).create or replace table test (col1 extfile, col2 extfile root 'c:\Program Files\Document'); create or replace table test (col1 extfile, col2 ef root 'c:\linter\db');