在MySQL中将字符串转换为日期时间

9

我想在我的SQL SELECT查询中将字符串"2017-03-13T14:39:00.000"转换为日期时间格式。

转换后,我需要将其与另一个日期进行比较。因此,我期望转换后的日期时间应兼容比较运算符(<和>)。

谢谢。


在我看来,你应该一开始就将日期存储为DateTime列。现在更正这个错误比事后修补问题更好吗? - RiggsFolly
也许可以尝试在Google搜索[mysql 将字符串转换为日期时间],第一个搜索结果是:https://dev59.com/Mmgv5IYBdhLWcg3wY_42 第四个搜索结果是:https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_str-to-date - ebyrob
1个回答

14

你可能想要查看MySQL的STR_TO_DATE()函数。

示例(添加)

SELECT STR_TO_DATE('2017-03-13T14:39:01.123','%Y-%m-%dT%H:%i:%s.%f');

这是我的结果

+---------------------------------------------------------------+                                                                                        
| STR_TO_DATE('2017-03-13T14:39:01.123','%Y-%m-%dT%H:%i:%s.%f') |                                                                                        
+---------------------------------------------------------------+                                                                                        
| 2017-03-13 14:39:01.123000                                    |                                                                                        
+---------------------------------------------------------------+                                                                                        
1 row in set (0,00 sec)                                                                                                                                  
mysql>

一条注释,但绝不是答案。 - RiggsFolly
4
看过编辑后的答案,我的回答是正确的。为什么我要回答问题以冒险遭受毫无根据的批评呢? - mbieren
STR_TO_DATE('31-07-2021 05:37 PM','%d-%m-%Y %h:%i %p') 还有一个例子。 - garish

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接