Теория баз данных



         

Типы данных


В языке SQL/89 поддерживаются следующие типы данных:

  • CHARACTER(n) или CHAR(n) — символьные строки постоянной длины в п символов. При задании данного типа под каждое значение всегда отводится п символов, и если реальное значение занимает менее, чем п символов, то СУБД автоматически дополняет недостающие символы пробелами.

  • NUMERIC[(n,m)] — точные числа, здесь n — общее количество цифр в числе, m — количество цифр слева от десятичной точки.

  • DECIMAL[(n,m)] — точные числа, здесь n — общее количество цифр в числе, m — количество цифр слева от десятичной точки.

  • DEC[(n,m)] - то же, что и DECIMAL[(n,m)].

  • INTEGER или INT — целые числа.

  • SMALLINT — целые числа меньшего диапазона.

    Несмотря на то, что в стандарте SQL1 не определяется точно, что подразумевается под типом INT и SMALLINT (это отдано на откуп реализации), указано только соотношение между этими типами данных, в большинстве реализаций тип данных INTEGER соответствует целым числам, хранимым в четырех байтах, a SMALLINT — соответствует целым числам, хранимым в двух байтах. Выбор одного из этих типов определяется размером числа.

  • FLOAT[(n)] — числа большой точности, хранимые в форме с плавающей точкой. Здесь n — число байтов, резервируемое под хранение одного числа. Диапазон чисел определяется конкретной реализацией.

  • REAL — вещественный тип чисел, который соответствует числам с плавающей точкой, меньшей точности, чем FLOAT.

  • DOUBLE PRECISION специфицирует тип данных с определенной в реализации точностью большей, чем определенная в реализации точность для REAL.

    В стандарте SQL92 добавлены следующие типы данных:

  • VARCHAR(n) — строки символов переменной длины.

  • NCHAR(N) — строки локализованных символов постоянной длины.

  • NCHAR VARYING(n) — строки локализованных символов переменной длины.

  • BIT(n) — строка битов постоянной длины.

  • BIT VARYING(n) — строка битов переменной длины.

  • DATE — календарная дата.

  • ТIMESТАМР(точность) — дата и время.

  • INTERVAL — временной интервал.

    Большинство коммерческих СУБД поддерживают еще дополнительные типы данных, которые не специфицированы в стандарте.


    Содержание  Назад  Вперед