SQL поддерживает
CHARACTER VARYING(n)
где п представляет число, задающее максимальное число позиций, выделяемое для поля, которое определяется данным оператором.
Обычными типами данных для строк переменой длины являются VARCHAR и VARCHAR2. VARCHAR соответствует стандарту ANSI и используется, например, в Microsoft SQL Server, a VARCHAR2 используется Oracle, чтобы не зависеть от возможных изменений VARCHAR в будущем. Этот тип данных предполагает хранение буквенночисловых значений.
Не забывайте, что строки фиксированной длины предполагают заполнение оставшихся пустыми позиций пробелами, а строки переменной длины - нет. Например, если для строки переменной длины выделено 10 позиций, а введенные данные занимают всего пять, то это введенное значение и займет всего 5 позиций. Пробелы для заполнения остальных позиций в столбце использоваться не будут.
Для данных в виде строк различной длины всегда используйте тип данных, допускающий строки переменной длины.
Числовые значения хранятся в полях, определенных как некоторого типа числа и обычно имеющих атрибуты типа NUMBER, INTEGER, REAL, DECIMAL и т. п. Стандартными для SQL являются следующие значения:
BIT(П)
BIT VARYING (n)
DECIMAL(p,S)
INTEGER
SMALLINT
FLOAT(p)
REAL(s)
DOUBLE PRECISION(p)
где p представляет число позиций, выделяемых для соответствующего поля (его максимальную длину), a s задает число позиций справа от десятичного разделителя.
Общим числовым типом данных для всех реализаций SQL является NUMBER, что соответствует рекомендациям ANSI для числовых значений. Числовые значения могут быть нулевыми, положительными, отрицательными, с фиксированной точкой или плавающей точкой. Вот пример использования оператора NUMBER:
NUMBER(5)
Здесь вводимые в поле значения ограничиваются сверху максимальным значением 99999.
Десятичные значения - это числовые значения, в которых используется десятичная точка (десятичный разделитель). Вот стандартный оператор SQL для определения десятичного типа данных, где р задает точность, as - масштаб числа:
DECIMAL(p,s)
Если в поле, определенное как DECIMAL (3,1), ввести значение 34 .33, то введенное значение округлится до 34.3.
Если для значений в поле при определении назначен тип DECIMAL (4, 2), это значит, что значения, хранимые в поле, будут ограничены сверху числом 99.99.
Точность 4 задает общую длину соответствующего числового значения. Масштаб 2 задает число
Например, для столбца, определенного как DECIMAL (4,2), допустимыми будут следующие значения:
12
12.4
12.44
12. 449,
хотя последнее из приведенных здесь значений, а именно 12.449, будет округлено после ввода в столбец до 12.45.
1 п
99
-99
199
FLOAT FLOAT(15) FLOAT(50)
Тип данных даты и времени, очевидно, используется для хранения информации о датах и времени. Стандарт SQL поддерживает соответствующие типы данных, называемые DATETIME, которые представлены следующими конкретными типами:
DATE TIME
INTERVAL ТIMESTAMP
Тип данных TIMESTAMP состоит из следующих элементов:
YEAR
MONTH
DAY
HOUR
MINUTE
SECOND
Элемент SECOND содержит также доли секунды. Диапазон его изменения от 00.000 до 61.999, хотя отдельные реализации SQL могут поддерживать другой диапазон.