Учебники

Teradata — Дата / Время Функции

В этой главе рассматриваются функции даты и времени, доступные в Teradata.

Дата Хранения

Даты хранятся в виде целого числа внутри, используя следующую формулу.

((YEAR - 1900) * 10000) + (MONTH * 100) + DAY

Вы можете использовать следующий запрос, чтобы проверить, как хранятся даты.

SELECT CAST(CURRENT_DATE AS INTEGER);

Поскольку даты хранятся как целые числа, вы можете выполнять над ними некоторые арифметические операции. Teradata предоставляет функции для выполнения этих операций.

ВЫПИСКА

Функция EXTRACT извлекает части дня, месяца и года из значения DATE. Эта функция также используется для извлечения часа, минуты и секунды из значения TIME / TIMESTAMP.

пример

В следующих примерах показано, как извлечь значения Год, Месяц, Дата, Час, Минута и секунды из значений Дата и Отметка времени.

SELECT EXTRACT(YEAR FROM CURRENT_DATE);  
EXTRACT(YEAR FROM Date) 
----------------------- 
        2016  
SELECT EXTRACT(MONTH FROM CURRENT_DATE);  
EXTRACT(MONTH FROM Date) 
------------------------ 
          1        
SELECT EXTRACT(DAY FROM CURRENT_DATE);  
EXTRACT(DAY FROM Date) 
------------------------ 
          1    
       
SELECT EXTRACT(HOUR FROM CURRENT_TIMESTAMP);  
EXTRACT(HOUR FROM Current TimeStamp(6)) 
--------------------------------------- 
                 4      
SELECT EXTRACT(MINUTE FROM CURRENT_TIMESTAMP);  
EXTRACT(MINUTE FROM Current TimeStamp(6)) 
----------------------------------------- 
                 54  
SELECT EXTRACT(SECOND FROM CURRENT_TIMESTAMP);  
EXTRACT(SECOND FROM Current TimeStamp(6)) 
----------------------------------------- 
              27.140000

ИНТЕРВАЛ

Teradata предоставляет функцию INTERVAL для выполнения арифметических операций со значениями DATE и TIME. Есть два типа ИНТЕРВАЛЬНЫХ функций.

Год-Месяц Интервал

  • ГОД
  • ГОД В МЕСЯЦ
  • МЕСЯЦ

Дневной интервал

  • ДЕНЬ
  • ДЕНЬ ЧАСОВ
  • ДЕНЬ В МИНУТУ
  • ДЕНЬ ВТОРОЙ
  • ЧАС
  • ЧАС МИНУТ
  • ЧАС ВТОРОГО
  • МИНУТЫ
  • МИНУТА ВТОРОГО
  • ВТОРОЙ

пример

Следующий пример добавляет 3 года к текущей дате.

SELECT CURRENT_DATE, CURRENT_DATE + INTERVAL '03' YEAR; 
  Date    (Date+ 3) 
--------  --------- 
16/01/01   19/01/01

Следующий пример добавляет 3 года и 01 месяц к текущей дате.

SELECT CURRENT_DATE, CURRENT_DATE + INTERVAL '03-01' YEAR TO MONTH; 
 Date     (Date+ 3-01) 
--------  ------------ 
16/01/01    19/02/01

В следующем примере добавляется 01 день, 05 часов и 10 минут к текущей отметке времени.