2012-12-25 45 views
1

我在varchar(20)时间戳一样'01-11-2012 11:36:53.122'获取存储为varchar从时间戳时间

如果我得到的只有

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

什么是查询只获得时间?

回答

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 demo

-1

更改你的领域格式datetime

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

+1

如果用户不允许更改表或者已经有前端应用程序访问表并且表中已经包含了数千条记录,该怎么办? –