Типы данных
Есть множество программ, в которых, помимо дат, принят специальный тип для времени (ПМЕ); для представления времени также определено множество форматов,
включая следующие:
Стандарт |
Формат |
Пример |
Формат ISO (Intemational |
hh-mm-ss |
21.04.37 |
Standards Organization) |
|
|
Формат JIS (Japanese |
hh-mm-ss |
21.04.37 |
lndustrial Standard) |
|
|
Формат EUR (IВМ European |
hh-mm-ss |
21.04.37 |
Standard) |
|
|
Формат USA (IВМ USA |
hh.mm АМ/РМ |
9.04 РМ |
Standard) |
|
|
Для данных, представленных в формате TIME, определены операции сложения и сравнения (как и для данных, представленных в формате DATE), причем количество се
кунд в минуте и часов в сутках учитывается автоматически. Кроме того, определены
специальные встроенные константы, определяющие текущую дату и текущее время
(CURDATE и CURТIME соответственно). Эти константы сходны с константой USER в том смысле, что их значения постоянно обновляются.
Можно ли включить время и дату в одно поле? Некоторые реализации включают только тип DATE, предполагая, что этого вполне достаточно. Напротив, есть реализа ции, в которых определен тип ТIMESTAMP, который определяется как комбинация
двух типов - DATE и ПМЕ.
ТИПЫ ТЕХТSTRJNG (строка текста)
ANSI поддерживает один тип для представления текста. Это тип CHAR. Предпо
.1агается, что любое поле этого типа имеет индивидуальную длину. Если строка, вставляемая в поле, имеет меньшую длину, то она дополняется пробелами; длина строки не может превосходить длины поля. Хотя, с точки зрения удобства разработ
ки приложений, это определение накладывает ряд ограничений для пользователя.
Например, операция UNION применима только к символьным полям одинаковой
длины.
Многие разработки поддерживают строки переменной длины и для этого - типы данных VARCHAR и LONG VARCHAR (часто называемый просто LONG). Поле типа CHAR всегда занимает при размещении в основной памяти количество символов, оп
ределяемое максимальным количеством символов, хранящихся в поле, а поле
VARCHAR занимает только участок памяти, необходимый для хранения реа.1ьного значения поля, хотя SQL должен будет выделить дополнительно смежный участок па мяти для хранения реальной длины поля. Поля типа VARCHAR могут иметь любую длину вплоть до определенного разработчиком максимума, который изменяется от 254 до 2048 символов для типа VARCHAR и вплоть до 16К символов для типа LONG. Тип LONG обычно используется для текстов более или менее одинаковой природы (например, для поясняющих текстов) или для данных, которые трудно сжать до про-