Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

количество месяцев между 2 датами PostgreSQL

31K
23 ноября 2008 года
charizma
29 / / 28.10.2008
Hello! Люди, плиииз помогите. Как можно получить количество месяцев между двумя датами. (СУБД - PostgreSQL)
355
23 ноября 2008 года
<SCORP>
786 / / 21.10.2006
http://www.postgresql.org/docs/8.0/interactive/functions-datetime.html
думаю, тут ты найдёшь, что тебе надо
сейчас постгры под рукой нет, так что попробовать негде.
по идее тебе оператора вычитания и ф-ции extract должно хватить
31K
23 ноября 2008 года
charizma
29 / / 28.10.2008
ууууууууууууу!!!!
Не наю - у мя уже мозги пухнут. Все до чего я додумалась -
SELECT age(timestamp '11.1.11',timestamp '11.2.08');
Выводит полностью интервал между датами. А мне надо "это полностью" перевести в месяци. Так, что выгребать год и переводить??!!!
ДА я туплю, потому что знаю, есть способ намного разумнее - НО КАКОЙ???
31K
23 ноября 2008 года
charizma
29 / / 28.10.2008
А за сайтик спасибо - клевый, но он у меня уже есть...
355
23 ноября 2008 года
<SCORP>
786 / / 21.10.2006
напр что-то вроде
 
Код:
SELECT
  extract(year from interval age(timestamp '11.1.11',timestamp '11.2.08')) * 12
    + extract(month from interval age(timestamp '11.1.11',timestamp '11.2.08'))

только окультурить это дело всё. я просто не знаю, как в постгре переменные объявляются :)
31K
23 ноября 2008 года
charizma
29 / / 28.10.2008
SELECT timestamp '11.1.11' - timestamp '11.2.08';
вот мое вычитание, как вы и писали - но выводит то количество дней... а мне месяцы....т.е ща у меня проблемка уже как получить нужный мне формат разности...
31K
23 ноября 2008 года
charizma
29 / / 28.10.2008
спасибки за написаное выше - прикольно, ща буду "окультуривать":)
355
23 ноября 2008 года
<SCORP>
786 / / 21.10.2006
если не получиться - завтра под рукой будет постгра, будет где попробовать
31K
23 ноября 2008 года
charizma
29 / / 28.10.2008
ок. я напишу про свои успехы(если таковые будут:)). Спасиб тебе.
355
23 ноября 2008 года
<SCORP>
786 / / 21.10.2006
:-D
с тя пиво :-P

PS шучу - помощь на пиво не тянет :)
31K
23 ноября 2008 года
charizma
29 / / 28.10.2008
хотя можно, я ведь тож с Херсона:)
51K
13 июля 2009 года
IgorV
1 / / 13.07.2009
Эта функция возвращает целое количество месяцев..
А не знаете, как можно извлечь количество месяцев по номерам?

грубо говоря,
EXTRACT(MONTH FROM AGE( '10.07.2009 00:00:00'::timestamp,'25.06.2009 00:00:00'::timestamp)) возвратит 0
( месяц из интервала 0 years 0 mons 15 days 0 hours 0 mins .00 secs )
а мне необходимо по номерам месяцев 07-06 = 1 месяц
но и ещё с условием года т.е. разница например между датами 10.07.2010 и 25.06.2009 должна быть 13 месяцев..
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог