Я использую 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 дней.
Есть ли у кого-то лучшее решение?