Автор Тема: Как можно узнать количество годов в интервале в PostgreSql  (Прочитано 2658 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн kirushal

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 1
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Я хочу вычислить количество годов в интервале между настоящим моментом и, например, днем рождения (предположим 13.07.1981).
Можно ли это вычислить с помощью функций PostgreSql.
Подскажите пожайлуста.

Оффлайн Chs

  • Perl программер
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1108
  • +0/-0
  • 2
    • Просмотр профиля
    • http://chs.now.at/
Про PostgreSql - не знаю,а вот в MySql сие делается так:

select if((month(curdate())=month(birthday)) &&
(dayofmonth(curdate()) floor(period_diff(date_format(curdate(),\'%Y%m\'),
date_format(birthday,\'%Y%m\'))/12)-1,
floor(period_diff(date_format(curdate(),\'%Y%m\'),
   date_format(birthday,\'%Y%m\'))/12))

Кто проще? :))
« Последнее редактирование: 28 Марта 2002, 15:27:53 от Chs »
2B OR NOT 2B = FF

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
а ты в разделе "Date/Time Functions" мануала смотрел.
Примерно так (не првоерял):
SELECT date_part(\'year\',interval age(now(),timestamp \'13-07-1981\'))
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28