Работа с представлениями. Типы данных
Типы данных
Каждый столбец базы данных имеет свой тип, указываемый при создании столбца.
В стандарте SQL-92 определены следующие типы:
- символьные:
- двоичные:
- числовые:
- даты/времени:
- интервалы:
Отметим, что параметры типа, указываемые в скобках, в большинстве случаев можно при необходимости опускать.
Для символьных типов возможно указание фразы CHARACTER SET { set_name | using_form}, устанавливающей используемый набор символов.
Приведем описание наиболее часто используемых типов данных:
- CHAR (num) - текстовая строка фиксированной длины (на диске сразу выделяется место под всю строку);
- VARCHAR (num) - текстовая строка переменной длины, содержащая не более num символов (на диске выделяется место в зависимости от длины строки);
- INTEGER или INT - целое;
- NUMERIC - число с плавающей точкой, возможно определение числа знаков после запятой;
- DECIMAL или DEC - число с плавающей точкой, возможно задание минимального значения точности;
- FLOAT - число с плавающей точкой, позволяющее задавать точность (количество знаков после запятой);
- REAL - число с плавающей точкой, точность которого определяется реализацией;
- DATE - тип даты;
- TIME WITH TIME ZONE - тип времени, содержащий поля, описывающие сдвиг зонального времени.
Типы данных, описывающие дату и время, состоят из нескольких полей, в которых хранятся части даты времени. Так, тип DATE содержит поля YEAR, MONTH и DAY. Тип TIME содержит поля HOUR, MINUTE и SECOND.
Тип TIMESTAMP содержит как поля даты, так и поля времени.
Значение типа TIMESTAMP записывается следующим образом: '10-12-2003 08:30:00'. Порядок следования полей при написании даты, как правило, определяется установками компьютера.
Функции даты/времени
Для работы с данными, имеющими тип даты/времени в языке SQL предусмотрены следующие функции:
CURRENT_TIME - определяет текущее время;
CURRENT_DATE - определяет текущую дату;
CURRENT_TIMESTAMP - определяет текущие дату и время.
Например:
INSERT INTO tbl1 (f1,f2,f3,f4) VALUES (1,100,'abc', CURRENT_DATE);