我在MySQL STR_TO_DATE被返回null
问题描述:
我跑在MySQL的这一说法,并在每行,返回null:我在MySQL STR_TO_DATE被返回null
SELECT STR_TO_DATE('Fri, 22 Jun 2012 03:35:24 +0000', '%a, %e %b %Y %H:%i:%s %%%%%%%%%%') FROm t2;
我不知道该+0000
权符。它应该是什么?
答
+0000是时区偏移量。
mySQL不理解时区的概念,并且STR_TO_DATE
:the list of date/time format placeholders显然也没有提及时区。
如果您期望来自不同时区的日期,这似乎不能在mySQL的帮助下解决。你必须在其他地方预处理日期,将其变成一个,即UTC始终为 UTC(或当地时区,无论适用),还是已经始终是UTC,ManseUK的建议(将+0000
添加到格式字符串中,以便mySQL忽略它)应该工作。
从MySQL手册:[“格式中可以使用的说明符请参阅DATE_FORMAT()函数说明。”](http://dev.mysql.com/doc/refman/5.5/zh-cn/date -and-time-functions.html#function_str-date-date):http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format – feeela 2012-07-26 17:07:08