Teradata - Datums- / Zeitfunktionen

In diesem Kapitel werden die in Teradata verfügbaren Datums- / Uhrzeitfunktionen erläutert.

Datumsspeicherung

Daten werden intern als Ganzzahl nach der folgenden Formel gespeichert.

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

Mit der folgenden Abfrage können Sie überprüfen, wie die Daten gespeichert werden.

SELECT CAST(CURRENT_DATE AS INTEGER);

Da die Daten als Ganzzahl gespeichert sind, können Sie einige arithmetische Operationen an ihnen ausführen. Teradata bietet Funktionen zum Ausführen dieser Vorgänge.

EXTRAKT

Die EXTRACT-Funktion extrahiert Teile von Tag, Monat und Jahr aus einem DATE-Wert. Diese Funktion wird auch verwendet, um Stunde, Minute und Sekunde aus dem Wert TIME / TIMESTAMP zu extrahieren.

Beispiel

Die folgenden Beispiele zeigen, wie Sie Jahr-, Monats-, Datums-, Stunden-, Minuten- und Sekundenwerte aus Datums- und Zeitstempelwerten extrahieren.

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

INTERVALL

Teradata bietet die INTERVAL-Funktion zum Ausführen von Rechenoperationen für DATE- und TIME-Werte. Es gibt zwei Arten von INTERVALL-Funktionen.

Jahr-Monat-Intervall

  • YEAR
  • JAHR BIS MONAT
  • MONTH

Tageszeitintervall

  • DAY
  • Tag bis Stunde
  • Tag bis Minute
  • TAG ZUM ZWEITEN
  • HOUR
  • STUNDE ZUR MINUTE
  • STUNDE ZUM ZWEITEN
  • MINUTE
  • Minute bis Sekunde
  • SECOND

Beispiel

Im folgenden Beispiel werden dem aktuellen Datum 3 Jahre hinzugefügt.

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

Im folgenden Beispiel werden dem aktuellen Datum 3 Jahre und 01 Monate hinzugefügt.

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

Im folgenden Beispiel werden dem aktuellen Zeitstempel 01 Tage, 05 Stunden und 10 Minuten hinzugefügt.

SELECT CURRENT_TIMESTAMP,CURRENT_TIMESTAMP + INTERVAL '01 05:10' DAY TO MINUTE; 
     Current TimeStamp(6)         (Current TimeStamp(6)+ 1 05:10) 
--------------------------------  -------------------------------- 
2016-01-01 04:57:26.360000+00:00  2016-01-02 10:07:26.360000+00:00