On Mon, Jul 23, 2018 at 04:30:43PM +0300, Arthur Zakirov wrote: > I looked for some tradeoffs of the patch. I think it could be parsing > strings like the following input strings: > > SELECT TO_TIMESTAMP('2011年5月1日', 'yyyy-MM-DD'); > SELECT TO_TIMESTAMP('2011y5m1d', 'yyyy-MM-DD'); > > HEAD extracts year, month and day from the string. But patched > to_timestamp() raises an error. Someone could rely on such behaviour. > The patch divides separator characters from letters and digits. And > '年' or 'y' are letters here. And so the format string doesn't match the > input string.
Sorry, I forgot to mention that the patch can handle this by using different format string. You can execute: =# SELECT TO_TIMESTAMP('2011年5月1日', 'yyyy年MM月DD日'); to_timestamp ------------------------ 2011-05-01 00:00:00+04 =# SELECT TO_TIMESTAMP('2011y5m1d', 'yyyy"y"MM"m"DD"d"'); to_timestamp ------------------------ 2011-05-01 00:00:00+04 or: =# SELECT TO_TIMESTAMP('2011y5m1d', 'yyyytMMtDDt'); to_timestamp ------------------------ 2011-05-01 00:00:00+04 -- Arthur Zakirov Postgres Professional: http://www.postgrespro.com Russian Postgres Company