Re: to_char function returning wrong data

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: to_char function returning wrong data
Дата
Msg-id 8046.1549301519@sss.pgh.pa.us
обсуждение исходный текст
Ответ на to_char function returning wrong data  (Sreeni Survi <sreenisurvi@gmail.com>)
Список pgsql-bugs
Sreeni Survi <sreenisurvi@gmail.com> writes:
> Below code has caused my data to be wiped off a table as my where clause
> depends on the below returned value.

> *select to_char(current_date - interval '5 weeks','IYYYWW') ;*
> *201953*

(For the archives, current_date - interval '5 weeks' is currently
'2018-12-31 00:00:00')

There's nothing wrong with to_char; it did what you told it to.

The problem here is that you're using ISO year numbering along with
non-ISO week numbering.  You should have written 'IYYYIW', which
would give consistent results:

regression=# select to_char(current_date - interval '4 weeks','IYYYIW') ;
 to_char 
---------
 201902
(1 row)

regression=# select to_char(current_date - interval '5 weeks','IYYYIW') ;
 to_char 
---------
 201901
(1 row)

regression=# select to_char(current_date - interval '6 weeks','IYYYIW') ;
 to_char 
---------
 201852
(1 row)

            regards, tom lane


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

Предыдущее
От: Andrew Gierth
Дата:
Сообщение: Re: to_char function returning wrong data
Следующее
От: Tom Lane
Дата:
Сообщение: Re: BUG #15611: pg_dump output changes after doing a restore with certain views