Основы проектирования реляционных баз данных

         

Функции для обработки даты


В диалекте SQL СУБД Oracle имеется небольшой набор функций для манипулирования колонками с типом date. Список основных функций обработки даты и времени приведен в таблице 8.6.

Таблица 8.6. Функции обработки даты и времени

ФункцияОписание
SYSDATEВозвращает текущую дату и время
ROUND(D[,F])Округляет значение даты D согласно заданному шаблону
TRANC(D[,F])Усекает значение даты D согласно заданному шаблону
NEXT_DAY(D,S)Возвращает дату дня, который является первым днем, более поздним, чем текущая дата с названием S

Если вам потребовался список новых служащих, поступивших за последний квартал в организацию, то вы можете написать запрос в следующем виде:

SELECT ENAME, HIREDATE, HIREDATE + 92 DAYS FROM EMPLOYEE WHERE HIREDATE + 92 DAYS > SYSDATE AND DEPNO=30;

Ключевое слово SYSDATE всегда возвращает текущую дату. В этом примере также показано, как используется арифметический оператор сложения с переменными типа "дата". К переменной типа "дата" можно прибавлять и вычитать из него целое число дней, месяцев, лет, часов, минут, секунд, микросекунд. Для этого используются соответствующие ключевые слова (DAY, MONTH и т.д.), следующие за целой константой (дробная часть игнорируется, если вы указываете число с десятичной точкой). Имеется ограничение на использование скобок в таких выражениях (так, заключение в скобки выражения 1 DAYS + 1 YEARS приведет к ошибке).



Содержание раздела