我正在运行MySQL并尝试将下面一行从VarChar转换为DateTime
+-------------------+
| review_date |
+-------------------+
| May 24, 2015 |
| June 3, 2013 |
| December 19, 2003 |
+-------------------+
我尝试过CAST(review_date as DATETIME)
,但是当我在SELECT语句中测试它时,它会导致一列空值。
我也尝试了CONVERT(DATETIME, review_date, 107)
,但是结果是:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'review_date, 107) at line 3
我以前没有转换为日期时间,但我不明白上面的语句是如何偏离文档的,或者为什么它们不起作用。
我使用以下语法为列创建:并且STR_TO_DATE(review_date, '%m/%d/%Y')
也产生空单元的列。
2条答案
按热度按时间z9smfwbn1#
问题是在强制转换或转换时,字符串值不是标准的yyyy-mm-dd格式。
如果你运行这个例子,你就会明白我的意思了。这个例子也有把字符串转换成日期的正确方法:
wkftcu5l2#
这是为MYSQL(我在那里把字符串转换成日期函数)
示例:
请确保在日期格式中正确使用分隔符。就像我的例子一样,字符串列中的日期用'/'分隔。在您的例子中,它可能用逗号','或点'.'分隔。请确保使用该分隔符。