我在varchar(20)
中有时间戳,如'01-11-2012 11:36:53.122'
如果我只通过
获得日期SELECT STR_TO_DATE("01-11-2012 11:36:53.122", '%d-%m-%Y')
它给出了这个输出:"2012-11-01"
。
但是这个
SELECT STR_TO_DATE("01-11-2012 11:36:53.122", '%H:%i:%s')
它提供输出"null"
而不是11:36:53
。
什么是查询才能获得时间?
答案 0 :(得分:5)
尝试一下
DATE_FORMAT(STR_TO_DATE(`column`, '%d-%m-%Y %H:%i:%s'), '%H:%i:%s')
其他来源,
答案 1 :(得分:2)
SELECT date_format(STR_TO_DATE("01-11-2012 11:36:53.122", '%d-%m-%Y %H:%i:%s.%f'), '%H:%i:%s')
答案 2 :(得分:-1)
将您的字段格式更改为datetime
。
这是存储日期时间值的唯一正确方法。