从存储为varchar的时间戳中获取时间



我在varchar(20)中有类似'01-11-2012 11:36:53.122' 的时间戳

如果我只得到的日期

SELECT STR_TO_DATE("01-11-2012 11:36:53.122", '%d-%m-%Y')

它给出这样的输出:CCD_ 3。

但是通过这个

SELECT STR_TO_DATE("01-11-2012 11:36:53.122", '%H:%i:%s')

它给出输出CCD_ 4而不是CCD_。

查询只得到时间是什么?

试试

DATE_FORMAT(STR_TO_DATE(`column`, '%d-%m-%Y %H:%i:%s'), '%H:%i:%s')
  • SQLFiddle演示

其他来源,

  • STR_TO_DATE
  • 日期_格式
SELECT date_format(STR_TO_DATE("01-11-2012 11:36:53.122", '%d-%m-%Y %H:%i:%s.%f'), '%H:%i:%s') 

SQLFiddle演示

将字段格式更改为datetime

这是存储日期时间值的唯一正确方法。

相关内容

  • 没有找到相关文章

最新更新