2013-09-27 28 views
2

在SAP HANA中是否有與PostgreSQL中的age具有相同語義的函數,即返回給定時間戳和當前時間戳之間的差異?Sap Hana:PostgreSQL中的「age」功能

我知道

ADD_YEARS(COLUMN_NAME, 2) <= NOW() 

在SAP HANA將對應於

(extract (year from age(COLUMN_NAME)) <= 2) 
PostgreSQL中

。不幸的是,這不是我的選擇,因爲我沒有信息<= 2。我正在尋找的是將age(COLUMN_NAME)(PostgreSQL)轉換爲SAP HANA的方法。

任何想法?

回答

2

試試這個:

SECONDS_BETWEEN(<timeA>, <timeB>) 
+0

遺憾的是它不容易通過的秒數獲得的年數(由於閏年,等等) – gefei

0

select floor(days_between(to_date(timestamp1), to_date(timestamp2))/365) from dummy;

應當做的伎倆

1

隨着SPS12存在YEARS_BETWEEN()功能可供選擇:

select years_between(current_date, add_years(current_date, -10)) from dummy; 
0

這個工作對我來說,SPS11計算年齡在年:

if(format(now(), 'MMDD') >= format("DateOfBirth", 'MMDD'), 
    int(component(now(), 1)) - int(component("DateOfBirth", 1)), 
     if(int(component(now(), 1)) = int(component("DateOfBirth", 1)), 0, 
      int(component(now(), 1)) - int(component("DateOfBirth", 1)) - 1))