О датах...

Jan 13, 2015 10:02

Postgres peculiarities...

Запрос:
select to_timestamp('2014-00-00-23:59:59' ,'yyyy-MM-dd-HH24:MI:SS');

Результат:
2014-01-01 23:59:59+00

-- Чуваки, у нас так хорошо пошло празднование Нового Года... Мы решили, что теперь наступит 0 января, а первое будет только завтра, ок?
-- Не, вообще-то у всех нормальных людей уже первое!

sql

Leave a comment

Comments 2

leonid_fishkis January 13 2015, 18:56:23 UTC
Загнал в mySql, поменяв to_timestamp на TIMESTAMP(), получил 2013-11-30 23:59:59 - удивился, почитал описание функции - посмеялся.
"With two arguments, it adds the time expression expr2 to the date or datetime expression expr1 and returns the result as a datetime value."

select TIMESTAMP('2014-00-00 23:59:59')
2014-00-00 23:59:59

select TIMESTAMP('2014-00-00 23:59:59' , '0')
2013-11-30 23:59:59

Но зачем некорректную дату вводить?

Reply

megadest January 13 2015, 21:24:11 UTC

Это маленький кусочек парсера, куда данные приходят от многих разных людей, причем ввод я никак не контролирую. Там может попасться что угодно :)

Всегда расстраивает, когда функции не фунцикляют корректно, но мир...

Reply


Leave a comment

Up