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