|
|
| |
Приложение B
ТИПЫ ДАННЫХ В 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 |
|
|
|