как узнать год, месяц и день разницы дат в OBIEE - PullRequest
0 голосов
/ 13 мая 2019

Я использую OBIEE 11g. У меня есть дата начала и дата окончания. Я хочу узнать количество лет, месяцев и дней между этими двумя датами. Я могу получить количество дней по этой формуле:

TIMESTAMPDIFF(SQL_TSI_DAY, "Sailtime"."SailTime Begin Date","Sailtime"."SailTime End Date")

Но я не знаю, как конвертировать его в годы, месяцы и дни. Я попытался преобразование, как это: На годы:

TIMESTAMPDIFF(SQL_TSI_DAY, "Sailtime"."SailTime Begin Date","Sailtime"."SailTime End Date")/365

По месяцам:

(TIMESTAMPDIFF(SQL_TSI_DAY, "Sailtime"."SailTime Begin Date","Sailtime"."SailTime End Date")-(TIMESTAMPDIFF(SQL_TSI_DAY, "Sailtime"."SailTime Begin Date","Sailtime"."SailTime End Date")/365)*365)/30

Но количество дней никогда не будет точным, потому что не каждый год имеет 365 дней, а не каждый месяц имеет 30 дней. Есть ли у кого-то лучшее решение?

...