【问题标题】:how to convert varchar to datetime format in mysql如何在mysql中将varchar转换为日期时间格式
【发布时间】:2013-03-02 00:31:44
【问题描述】:

我正在尝试将 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

我怎样才能让它工作?

谢谢

【问题讨论】:

  • 20:14 PM 是多余的。为什么你的时间是这样的?

标签: mysql


【解决方案1】:

如果你的 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')

【讨论】:

  • 我正在寻找的最终值是 2011-05-16 20:14:00 your return 5/16/2011 8:14:00 PM
  • 如果我的列值只是时间怎么办,比如:04:00
  • 应该是'%Y-%m-%d %H:%i:%s',注意%i而不是%m
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-08
  • 2016-07-16
  • 2013-08-13
相关资源
最近更新 更多