我在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
。
这是存储日期时间值的唯一正确方法。