Teradata - Tarih / Saat İşlevleri

Bu bölüm, Teradata'da bulunan tarih / saat işlevlerini tartışmaktadır.

Tarih Saklama

Tarihler, aşağıdaki formül kullanılarak dahili olarak tamsayı olarak saklanır.

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

Tarihlerin nasıl saklandığını kontrol etmek için aşağıdaki sorguyu kullanabilirsiniz.

SELECT CAST(CURRENT_DATE AS INTEGER);

Tarihler tamsayı olarak saklandığı için üzerlerinde bazı aritmetik işlemler gerçekleştirebilirsiniz. Teradata, bu işlemleri gerçekleştirmek için işlevler sağlar.

AYIKLA

EXTRACT işlevi, DATE değerinden gün, ay ve yıl bölümlerini çıkarır. Bu fonksiyon aynı zamanda TIME / TIMESTAMP değerinden saat, dakika ve saniyeyi çıkarmak için kullanılır.

Misal

Aşağıdaki örnekler, Tarih ve Zaman Damgası değerlerinden Yıl, Ay, Tarih, Saat, Dakika ve saniye değerlerinin nasıl çıkarılacağını gösterir.

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

ARALIK

Teradata, DATE ve TIME değerleri üzerinde aritmetik işlemler gerçekleştirmek için INTERVAL işlevi sağlar. İki tür INTERVAL işlevi vardır.

Yıl-Ay Aralığı

  • YEAR
  • YILDAN AYA
  • MONTH

Gün-Saat Aralığı

  • DAY
  • GÜN-SAAT
  • DAKİKA GÜN
  • İKİNCİYE GÜN
  • HOUR
  • SAAT - DAKİKA
  • SANİYE KADAR SAAT
  • MINUTE
  • İKİNCİYE DAKİKA
  • SECOND

Misal

Aşağıdaki örnek, geçerli tarihe 3 yıl ekler.

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

Aşağıdaki örnek, geçerli tarihe 3 yıl ve 01 ay ekler.

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

Aşağıdaki örnek, geçerli zaman damgasına 01 gün, 05 saat ve 10 dakika ekler.

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