2017-01-23 97 views
0

在我的数据库表中有一个字段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

+0

检查这个答案http://stackoverflow.com/questions/25286335/mysql-string-to-date-with-given -format-containing-a-timezone-specifier –

+0

“upload_datetime”列的类型是什么? –

回答

0

我得到了答案。做了一些R后& D我找到了方法。感谢所有您的评论。 (datetime_uploaded,9,2),“ - ”,substr(datetime_uploaded,13,4)),'%d(substr - %M-%Y '),' %Y-%M')
FROM OpsMetrics

0

您可以使用

DATE_FORMAT(NOW(),'%d %b %Y %T:%f') 

的NOW()返回当前日期时间,你可以用你想

+0

我想将格式化数据转换为日期 – MANOJ

+0

如何获取数据?通过php变量?在数据库表的upload_datetime列中设置TYPE到DATETIME – liontass

0

在我的数据库表中的一个字段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 
+0

我已经运行了这个查询** select DATE_FORMAT('Mon,02 Jan 2017 15:46:23 GMT','%Y-%m-% d%H:%i:%s')来自Dual ** –

+0

@krishnpatel我们对该列的类型没有任何认识,除了它的名称带有术语'datetime'。如果他将自己的日期存储为文本,这完全是另一个问题,他不应该转换为另一种文本格式,而应该是迄今为止。 –

+0

@krishnpatel在查询中,你不需要'Dual',这是MySQL而不是Oracle。 –

相关问题