如何转换日期(星期一,2017年1月2日15:46:23 GMT)日期格式化数据在mysql
在我的数据库表中有一个字段upload_datetime
是那里,它有一个值,如星期一,2017年1月2日15 :46:23 GMT。我想获得像2017-01-02 15:46:23
这样的格式化日期。请有人帮助我在选择查询中获取它。如何转换日期(星期一,2017年1月2日15:46:23 GMT)日期格式化数据在mysql
我试过STR_TO_DATE,CAST
但我没有得到任何输出。它返回NULL
。
我得到了答案。做了一些R后& D我找到了方法。感谢所有您的评论。 (datetime_uploaded,9,2),“ - ”,substr(datetime_uploaded,13,4)),'%d(substr - %M-%Y '),' %Y-%M')
FROM OpsMetrics
在我的数据库表中的一个字段upload_datetime其他日期时间取代它的存在和它具有类似Mon,2017年1月2日15:46:23 GMT的价值。
本声明可能有点误导,因为我们不需要特别关心内部如何存储datetime
。你确切的问题是如何以一定的方式格式那datetime
。
DATE_FORMAT()函数是去这里的一种方法。它接受时间列和格式掩码作为输入,并返回格式化的字符串。
SELECT DATE_FORMAT(upload_datetime, '%Y-%m-%d %H:%i:%s') AS upload_formatted
FROM yourTable
我已经运行了这个查询** select DATE_FORMAT('Mon,02 Jan 2017 15:46:23 GMT','%Y-%m-% d%H:%i:%s')来自Dual ** –
@krishnpatel我们对该列的类型没有任何认识,除了它的名称带有术语'datetime'。如果他将自己的日期存储为文本,这完全是另一个问题,他不应该转换为另一种文本格式,而应该是迄今为止。 –
@krishnpatel在查询中,你不需要'Dual',这是MySQL而不是Oracle。 –
检查这个答案http://*.com/questions/25286335/mysql-string-to-date-with-given -format-containing-a-timezone-specifier –
“upload_datetime”列的类型是什么? –