Sap Hana: функция возраста в PostgreSQL

Есть ли в SAP HANA функция, которая имеет ту же семантику, что и age в PostgreSQL, то есть которая возвращает разницу между заданной меткой времени и текущей меткой времени?

Я знаю

ADD_YEARS(COLUMN_NAME, 2) <= NOW()

в SAP HANA будет соответствовать

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

в PostgreSQL. К сожалению, это не вариант для меня, поскольку у меня нет информации <= 2. Я ищу способ перевести age(COLUMN_NAME) (PostgreSQL) в SAP HANA.

Любые идеи?


person gefei    schedule 27.09.2013    source источник


Ответы (4)


попробуй это:

SECONDS_BETWEEN(<timeA>, <timeB>)
person ongis-nade    schedule 30.09.2013
comment
К сожалению, получить количество лет по количеству секунд непросто (из-за високосного года и т. Д.) - person gefei; 30.09.2013

В SPS12 доступна функция YEARS_BETWEEN():

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

10

person Lars Br.    schedule 02.06.2017

Это сработало для меня, чтобы рассчитать возраст в годах в 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))
person Steve Isaac    schedule 16.11.2017

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

это должно сработать

person sveer    schedule 01.06.2017