从Timestamp中获取时间存储为varchar

时间:2012-12-25 10:34:27

标签: mysql sql datetime phpmyadmin

我在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

什么是查询才能获得时间?

3 个答案:

答案 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') 

SQLFiddle demo

答案 2 :(得分:-1)

将您的字段格式更改为datetime

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