|
>
НАЗАД <
Приложение
B
S
Q L
ТИПЫ
ДАННЫХ В SQL
ТИПЫ ДАННЫХ РАСПОЗНАВАЕМЫЕ С
ПОМОЩЬЮ ANSI, состоят из символов и различных
типов чисел, которые могут
классифицироваться как точные числа и
приблизительные числа. Точные числовые
типы - это номера, с десятичной точкой или
без десятичной точки. Приблизительные
числовые типы - это номера в показательной (
экспоненциальной по основанию - 10 ) записи.
Для все прочих типов, отличи слишком малы
чтобы их как-то классифицировать.
Иногда типы данных используют аргумент,
который называю размером аргумента, чей
точный формат и значение меняется в
зависимости от конкретного типа. Значения
по умолчанию обеспечены для всех типов,
если размер аргумента отсутствует.
ТИПЫ ANSI
Ниже представлены типы данных ANSI
( имена в круглых скобках - это синонимы ):
TEXT
|
ТЕКСТ
|
CHAR(или CHARACTER)
|
Строка текста в
реализационно-определенном формате.
Размер аргумента здесь это
единственное неотрицательное целое
число которое ссылается к
максимальной длине строки. Значения
этого типа, должны быть заключены в
одиночные кавычки, например 'text'. Две
рядом стоящие одиночные кавычки ('')
внутри строки будет пониматься как
одна одиночна кавычка (').
|
ПРИМЕЧАНИЕ:
Здесь и далее, фраза Реализационно-Определенный
или Реализационно-Зависимый, указывает, что
этот аргумент или формат зависит от
конкретной программы в которой реализуются
данные.
EXACT NUMERIC
|
ТОЧНОЕ ЧИСЛО
|
DEC (или DECIMAL)
|
Десятичное число; то есть,
число которое мoжет иметь десятичную
точку. Здесь аргумент размера имеет
две части: точность и масштаб.Масштаб
не может превышать точность. Cначала
указывается точность, разделительная
запятая и далее аргумент масштаба.
Точность указывает сколько значащих
цифр имеет число. Максимальное
десятичное число составляющее номер -
реализационно-определенное значение,
равное или большее чем этот номер.
Масштаб указывает максимальное число
цифр справа от десятичной точки.
Масштаб = нулю делает поле
эквивалентом целого числа.
|
NUMERIC
|
Такое же как DECIMAL за
исключением того, что максимальное
десятичное не может превышать
аргумента точности.
|
INT( или INTEGER)
|
Число без десятичной точки.
Эквивалентно DECIMAL, но без цифр справа
от десятичной точки, то есть с
масштабом равным 0. Аргумент размера
не используется (он автоматически
устанавливается в реализационно-зависимое
значение).
|
SMALLINT
|
Такое же как INTEGER, за
исключением того, что, в зависимости
от реализации, размер по умолчанию
может ( или не может ) быть меньшее чем
INTEGER.
|
APPROXIMATE NUMERIC
|
ПРИБЛИЗИТЕЛЬНОЕ ЧИСЛО
|
FLOAT
|
Число с плавающей запятой
на основе 10 показательной функции.
Аргумент размера состоит из одного
числа определяющего минимальную
точность.
|
REAL
|
Такое же как FLOAT, за
исключением того, что никакого
аргумента размера не используется.
Точность установлена реализационно-зависимую
по умолчанию.
|
DOUBLE PRECISION ( или DOUBLE )
|
Такое же как REAL, за
исключением того, что реализационно-определяемая
точность для DOUBLE PRECISION должна
превышать реализационно-определяемую
точность REAL.
|
ЭКВИВАЛЕНТНЫЕ ТИПЫ ДАННЫХ В
ДРУГИХ ЯЗЫКАХ
Когда используется вложение SQL в
другие языки, значения используемые и
произведенные командами SQL, обычно
сохраняются в переменных главного языка( см.
Главу 25 ). Эти переменные должны иметь тип
данных совместимый со значениями SQL,
которые они будут получать. В дополнениях,
которые не являются частью официального SQL
стандарта, ANSI обеспечивает поддержку при
использовании вложения SQL в четыре языка:
Паскаль, PL/I, КОБОЛ, и ФОРТРАН. Между прочим,
он включает определение эквивалентов SQL,
для данн- ых типов переменных используемых
в этих языках.
Эквиваленты типов данных четырех языков
определенных ANSI:
ПЛ/I
SQL ТИП
|
ЭКВИВАЛЕНТ ПЛ/I
|
CHAR
|
CHAR
|
DECIMAL
|
FIXED DECIMAL
|
INTEGER
|
FIXED BINARY
|
FLOAT
|
FLOAT BINARY
|
КОБОЛ
SQL ТИП
|
ЭКВИВАЛЕНТ КОБОЛА
|
CHAR (
)
PIC X (
)
INTEGER
|
PIC S (
) USAGE COMPUTTATIONAL
NUMERIC
|
PIC S ( < nines with embedded V > ) DISPLAY
SING LEADING SEPERATE
|
| | |
ПАСКАЛЬ
SQL ТИП
|
ЭКВИВАЛЕНТ ПАСКАЛЯ
|
INTEGER
|
INTEGER
|
REAL
|
REAL
|
CHAR (
)
PACKED ARRAY [1..
] OF CHAR
| |
ФОРТРАН
SQL ТИП
|
ЭКВИВАЛЕНТ ФОРТРАНА
|
CHAR
|
CHAR
|
INTEGER
|
INTEGER
|
REAL
|
REAL
|
DOUBLE PRECISION
|
DOUBLE PRECISION
|
>
НАЗАД <
|