MySQL日期转换错误

时间:2013-08-06 12:25:49

标签: mysql sql

我正在使用MySQL,我在转换日期时遇到了一些问题。我有一个日期列,数据格式类似Mon, 22 Jul 2013 07:55:37 GMT,我想提取

Mon, 22 Jul 2013

当我写这段代码时

SELECT DATEPART(pubdate) FROM rss.`RSS_FEED`; 
LIMIT 5;

但是当我运行此代码时,我收到此错误

FUNCTION rss.DATEPART does not exist

请帮我解决这个问题。提前谢谢。

5 个答案:

答案 0 :(得分:2)

出于此目的使用DATE_FORMAT功能。您还可以使用DATE功能仅提取日期部分。

答案 1 :(得分:1)

MySQL中不存在DATEPART函数。尝试使用DATE_FORMAT。例如:

select DATE_FORMAT(pubdate,'%d/%m/%Y')

根据您的需要进行调整。

答案 2 :(得分:1)

如果您必须在MySQL中而不是在表示层中执行此操作

Date_Format()

答案 3 :(得分:0)

,因为您的列格式为Mon, 22 Jul 2013 07:55:37 GMT

你可以用这个:

   SELECT LEFT(pubdate,16) as yourDate FROM rss.`RSS_FEED`
   LIMIT 5;

EXplanation:这将从左侧选择前16个字符。

答案 4 :(得分:0)

如果数据字段的数据类型 DATETIME ,则以下是解决方案。

select id,mydate,date_format(mydate,'%a,%d,%b,%Y') from tbl_name

符号:

where
%a gives Abbreviated weekday name eg(Sun...Sat)
%d gives Day of the month in numeric eg(00...31)
%b gives Abbreviated month name eg(Jan...Dec)
%Y gives Numeric Year in four digits

作为您的问题,如果数据格式“星期一,2013年7月22日07:55:37 GMT”是字符串,请先将其转换为日期格式,然后检索为您所需的日期格式。< / p>

SELECT 
    date_format(
        STR_TO_DATE('May 1, 2013 09:30:17 GMT','%M %d,%Y %h:%i:%s GMT'),
        '%a, %d, %b, %Y'
    )
;