timestamp date_trunc('quarter',...)

Поиск
Список
Период
Сортировка
От Böjthe Zoltán
Тема timestamp date_trunc('quarter',...)
Дата
Msg-id 3F01DCFB.3010201@arcinfo.hu
обсуждение исходный текст
Ответы Re: timestamp date_trunc('quarter',...)  (Bruce Momjian <pgman@candle.pha.pa.us>)
Re: timestamp date_trunc('quarter',...)  (Bruce Momjian <pgman@candle.pha.pa.us>)
Список pgsql-patches
I corecting date_trunc('quarter',...) and friends because orig version
doing '2003-07-30' -> '2003-04-01', '2003-11-30' ->'2003-07-01'
--- src/backend/utils/adt/timestamp.c
+++ src/backend/utils/adt/timestamp.c
@@ -2412,7 +2412,7 @@
             case DTK_YEAR:
                 tm->tm_mon = 1;
             case DTK_QUARTER:
-                tm->tm_mon = (3 * (tm->tm_mon / 4)) + 1;
+                tm->tm_mon = (3 * ((tm->tm_mon - 1) / 3)) + 1;
             case DTK_MONTH:
                 tm->tm_mday = 1;
             case DTK_DAY:
@@ -2505,7 +2505,7 @@
             case DTK_YEAR:
                 tm->tm_mon = 1;
             case DTK_QUARTER:
-                tm->tm_mon = (3 * (tm->tm_mon / 4)) + 1;
+                tm->tm_mon = (3 * ((tm->tm_mon - 1) / 3)) + 1;
             case DTK_MONTH:
                 tm->tm_mday = 1;
             case DTK_DAY:
@@ -2598,7 +2598,7 @@
                 case DTK_YEAR:
                     tm->tm_mon = 0;
                 case DTK_QUARTER:
-                    tm->tm_mon = (3 * (tm->tm_mon / 4));
+                    tm->tm_mon = (3 * (tm->tm_mon / 3));
                 case DTK_MONTH:
                     tm->tm_mday = 0;
                 case DTK_DAY:
@@ -3175,7 +3175,7 @@
                     break;

                 case DTK_QUARTER:
-                    result = (tm->tm_mon / 4) + 1;
+                    result = (tm->tm_mon / 3) + 1;
                     break;

                 case DTK_YEAR:

В списке pgsql-patches по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Typo in backend/libpq/be-secure.c
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: sslmode patch