1

我有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.

什么是只获取时间的查询?

4

3 回答 3

5

试试这个

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

其他来源,

于 2012-12-25T10:39:54.170 回答
2
SELECT date_format(STR_TO_DATE("01-11-2012 11:36:53.122", '%d-%m-%Y %H:%i:%s.%f'), '%H:%i:%s') 

SQLFiddle 演示

于 2012-12-25T10:40:54.213 回答
-1

将您的字段格式更改为datetime.

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

于 2012-12-25T10:58:38.763 回答