Существуют три вида временных типов данных: DATE, TIMESTAMP и INTERVAL. TIMESTAMP и INTERVAL доступны в Oracle9 г и выше.
DATE Тип PL/SQL DATE абсолютно аналогичен типу DATE, применяемому в базах данных. Тип DATE используется для хранения информации о датах и о времени, в том числе о веке, годе, месяце, дне, часах, минутах и секундах. Данные о долях секунд не хранятся. Внутренний размер переменной DATE составляет 7 байт, по одному байту на каждый компонент (от века до секунды).
Переменной DATE можно присвоить значение символьной переменной либо другой переменной DATE. Символьные переменные неявно
преобразуются в даты с помощью используемого по умолчанию формата даты для текущего сеанса. Для дополнительного управления лучше применять встроенную функцию TO_DATE для присваивания значений и
функцию ТО_СШШдля их извлечения. Встроенные функции преобразования описываются ниже в разделе "Преобразования типов данных" и в главе 5.
TIMESTAMP Тип TIMESTAMP аналогичен типу DATE в том смысле, что содержит год, месяц, день, час, минуту и секунду некоторого момента времени. Однако отметки времени могут хранить доли секунды. Синтаксис определения переменной TIMESTAMP следующий:
TIMESTAMP [(F)]
где Р является точностью дробной части поля секунд, по умолчанию используется 6.
Тип TIMESTAMP WITH TIME ZONE содержит также определенный
часовой пояс в дополнение к данным отметки времени. Он определяется с помощью следующего выражения:
TIMESTAMP [(F)] WITH TIME ZONE
где Р— точность дробной части поля секунд.
Тип TIMESTAMP WITH LOCAL TIME ZONE всегда хранит часовой пояс базы данных, независимо от часового пояса пользователя. Он определяется следующим образом:
TIM ESTAMP [(F)] WITH LOCAL TIME ZONE
где Р— точность дробной части поля секунд.
INTERVAL Тип INTERVAL служит для хранения интервала времени il-j между двумя отметками времени. Тип INTERVAL YEAR TO MONTH хранит число лет и месяцев и определяется с помощью
TO MONTH
где Р — число цифр в поле года, которое по умолчанию равно 2. Тип INTERVAL DAY TO SECOND содержит число дней и секунд и определяется с помощью
INTERVAL DAY[(DP)] ТО SECOND[(SP)]
где — число цифр в поле дня (по умолчанию 2), a SP —число цифр в дробной части поля секунд
< Предыдущая | Следующая > |
---|