我在mysql中的str_to_date返回null

时间:2012-07-26 17:03:18

标签: mysql string

我在mysql中运行了这个语句,它在每一行都返回null:

SELECT STR_TO_DATE('Fri, 22 Jun 2012 03:35:24 +0000', '%a, %e %b %Y %H:%i:%s %%%%%%%%%%') FROm t2;

我不知道+0000的正确说明符。它应该是什么?

1 个答案:

答案 0 :(得分:3)

+0000是时区偏移量。

mySQL不理解时区的概念,STR_TO_DATE显然也没有:the list of date/time format placeholders根本没有提到时区。

如果你期望来自不同时区的日期,这似乎只能在mySQL的帮助下解决。您必须在其他地方预处理日期以将其变为始终 UTC(或您的本地时区,无论适用),或者如果它已经是UTC,ManseUK的建议(添加{{1你的格式字符串,所以mySQL忽略它)应该工作。