SMALLINT
|
Такое же как INTEGER, за исключением того, что, в зависимости от реализации, размер по умолчанию может (или не может ) быть меньшее чем INTEGER.
|
APPROXIMATE NUMERIC
ПРИБЛИЗИТЕЛЬНОЕ ЧИСЛО
FLOAT
|
Число с плавающей запятой на основе 10 показа тельной функции. Аргумент размера состоит из одного числа определяющего минимальную точность.
|
REAL
|
Такое же как FLOAT, за исключением того, что никакого аргумента размера не используется. Точность становлена реализационно-зависимую по умолчанию.
|
DOUBLE
|
Такое же как REAL, за исключением того, что реаPRECISION лизационно-определяемая точность для DOUBLE PRE( или DOUBLE ) CISION должна превышать реализационно-определяемую точность 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
|
Приложение C. НЕКОТОРЫЕ ОБЩИЕ НЕСТАНДАРТНЫЕ СРЕДСТВА SQL
ИМЕЕТСЯ РЯД ОСОБЕННОСТЕЙ ЯЗЫКА SQL которые пока не определены как часть стандарта ANSI или стандарта ISO (Международная Организация По Стандартизации), и являются общими для многочисленных реализаций, так как они были получены для практического использования. Это дополнительные элементы чисел этих особенностей. Конечно, эти особенности меняются от программы к программе, и их обсуждение предназначено только чтобы показать некоторые общие подходы к ним.
ТИПЫ ДАННЫХ
Типы данных поддерживаемые стандартом SQL, собраны в Приложении B. Это колличество для CHARACTER и разнообразие числовых типов. Реализация их может, фактически, быть значительно сложнее чем показано в терминах типов, которые они фактически могут использовать. Мы будем здесь обсуждать ряд таких нестандартных типов данных.
ТИПЫ DATE И TIME
Как упомянуто в Главе 2, тип данных DATE широко поддерживается, даже если он не часть стандарта. Мы использовали ранее в нашей таблице Порядков, этот тип использующий формат mm/dd/yyyy. Это стандартный формат IBM в США. Разумеется возможны и другие форматы, и программные реализации часто поддерживают ряд форматов, позволяя вам выбирать тот который лучше для вас подходит. Реализация которая предлагает эту особенность должна быть способна преобразовывать дату одного формата в другой - автоматически.
Имеются несколько основных форматов даты с которыми вы можете сталкнуться:
Стандарт
|
Формат
|
Пример
|
Международная Организация По Стандартизации (ISO)
|
yyyy-mm-dd
|
1990-10-31
|
Японский Индустриальный Стандарт (JIS)
|
yyyy-mm-dd
|
1990-10-31
|
IBM Европейский Стандарт (EUR)
|
dd.mm.yyyy
|
10.31.1990
|
Наличие специального типа определяемого для даты, дает возможность выполнять арифметические операция с датами. Например, вы можете добавлять число дней к дате и получать другую дату, в программе, самостоятельно следящей за числом дней в месяцах, високосными годами, и так далее. Даты могут также сравниваться; например фраза, дата A < дата B, означает, что дата A предшествует дате B по времени.
Читать дальше