6

我正在尝试将 varchar 转换为日期时间这就是我现在所拥有的,它对我不起作用。我总是觉得有价值

STR_TO_DATE(REPLACE(LEFT('5/16/2011 20:14 PM', LOCATE('M' , '5/16/2011 20:14 PM')-3), '/',','),'%m-%d-%Y %T')

以下代码返回 5,16,2011 20:14

select REPLACE(LEFT('5/16/2011 20:14 PM', LOCATE('M' , '5/16/2011 20:14 PM')-3), '/',',')

我当前的输出现在是 emply 字符串。应该是 2011-05-16 20:14:00

我怎样才能让它工作?

谢谢

4

1 回答 1

24

如果你的 varchar 是这样的:

5/16/2011 20:14 PM

您可以使用以下方法将其转换为日期时间:

SELECT STR_TO_DATE('5/16/2011 20:14 PM', '%c/%e/%Y %H:%i')

或者这样来格式化它,就像你想要的那样:

SELECT DATE_FORMAT(STR_TO_DATE('5/16/2011 20:14 PM', '%c/%e/%Y %H:%i'), '%Y-%m-%d %H:%m:%s')
于 2013-03-13T20:47:00.630 回答