Приложение 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
|
---|