Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по SQL.DOC
Скачиваний:
205
Добавлен:
01.05.2014
Размер:
1.16 Mб
Скачать

6.2. Типы данных в sql

ANSI определяет несколько различных типов значений чисел, различия между которыми довольно тонки, и иногда их путают.

В стандарте ANSI различают точные числа и приблизительные

числа. Точные числовые типы - это числа с десятичной точкой или без

десятичной точки. Приблизительные числовые типы - это числа в показательной ( экспоненциальной по основанию 10 ) записи.

Иногда типы данных используют аргумент размера, точный формат и значение которого меняется в зависимости от конкретного типа. Значения по умолчанию обеспечены для всех типов, если аргумент размера отсутствует.

Ниже представлены типы данных ANSI.

TEXT

ТЕКСТ

CHAR Строка текста в реализационно-определенном формате.

(или Агрумент размера - неотрицательное целое число, которое CHARACTER)является максимальной длиной строки. Значения этого типа, должны быть заключены в одиночные кавычки, например 'text'. Две рядом стоящие одиночные кавычки ('') внутри строки должны пониматься как одна одиночная кавычка (').

EXACT NUMERIC

ТОЧНОЕ ЧИСЛО

DEC Десятичное число, то есть число, которое может иметь

(или десятичную точку. Аргумент размера имеет две части: DECIMAL) точность и масштаб. Сначала указывается точность, разделительная запятая и далее масштаб. Точность указывает, сколько значащих цифр имеет число. Масштаб указывает максимальное число цифр справа от десятичной точки. Масштаб не может превышать точность. Масштаб, равный нулю, делает поле эквивалентом целого числа.

NUMERIC Такое же как DECIMAL за исключением того, что при максимальном значении десятичного числа не может быть превышена точность.

Int Число без десятичной точки. Эквивалентно decimal, но без

( или цифр справа от десятичной точки, то-есть с масштабом INTEGER ) равным 0. Аргумент размера не используется (он автоматически устанавливается в реализационно-зависимое значение).

SMALLINT Такое же как INTEGER за исключением того, что в зависимости от реализации аргумент размера по умолчанию может быть меньше, чем INTEGER.

APPROXIMATE NUMERIC

ПРИБЛИЗИТЕЛЬНОЕ ЧИСЛО

FLOAT Число с плавающей запятой на основе показательной функции с основанием 10. Аргумент размера состоит из одного числа, определяющего минимальную точность.

REAL Такое же как FLOAT, за исключением того, что

аргумент размера не используется. Точность установлена в реализационно-зависимое значение по умолчанию.

DOUBLE

PRECISION Такое же как REAL, за исключением того, что

( или реализационно-определяемая точность для DOUBLE

DOUBLE ) PRECISION должна превышать реализационно

-определяемую точность REAL.

Сложность числовых типов ANSI можно, по крайней мере частично, объяснить желанием сделать вложенный SQL, совместимым с рядом других языков.

Два типа чисел ANSI: INTEGER(ЦЕЛОЕ ЧИСЛО) и DECIMAL

(ДЕСЯТИЧНОЕ ЧИСЛО) ( которые можно сокращать как INT и DEC,

соответственно ), достаточны для целей большинства практических деловых прикладных программ. Естественно, что тип INTEGER можно представить как DECIMAL, которое не содержит цифр справа от десятичной точки.

Большое количество реализаций имеют нестандартный тип для текста, называемый VARCHAR (ПЕРЕМЕННОЕ ЧИСЛО СИМВОЛОВ). Этот тип определяет текстовую строку, которая может иметь любую длину до определенного реализацией максимума (обычно 254 символа ). Значения типа VARCHAR также заключают в одиночные кавычки. Различие между реализациями CHAR и VARCHAR в том, что в случае CHAR нужно резервировать достаточное количество памяти для максимальной длины строки, а в случае VARCHAR память распределяется так, как это необходимо.

Символьные типы состоят из всех печатных символов, включая числа. Применяют два вида кодов:

- ASCII код;

- EBCDIC код (Расширенный Двоично-Десятичном Код для Обмена Информацией).

В стандарте ANSI не определен тип DATE (ДАТА). Конечно можно обьявить дату как символьное или числовое поле, но это делает большинство операций менее удобными для пользователя.

Специальное значение - USER (ПОЛЬЗОВАТЕЛЬ) может использоваться

как аргумент в команде. Оно указывает на доступный Идентификатор

пользователя, выдавшего команду.

Соседние файлы в предмете Базы данных