MySQL DATETIME仅限MONTH

时间:2017-02-27 12:48:57

标签: mysql

我做了一个sql语句,看起来很好我首先想要只显示像这样的每周日期

  

周刊(date_add)=周(UTC_TIMESTAMP())

这个效果很好='2017-02-27 12:08:24'

对于MONTHS,我将WEEK更改为MONTH或YEAR很有效。但后来有人让我只显示结果='四月'或'juli'的日期然后我就像我该怎么做?所以我在谷歌搜索,发现我可以使用%M月份名称(1月至12月)

我知道我需要

  

'%M'

但我怎么能在我的情况下使用它。

我也尝试了

  

DATE_FORMAT(NOW(), '%M')

但是外显局是1

在发布这个帖子之前,我确实搜索了其他帖子,他们没有帮助我。

SELECT 
    sum(totalExcl) AS total, saleType, date_add
FROM
    ex.ps_ox_quo
WHERE
    WEEK(date_add) = WEEK(UTC_TIMESTAMP())
        AND saleType IN ('IEW')
GROUP BY date_add
ORDER BY date_add DESC

4 个答案:

答案 0 :(得分:0)

我想你只想要date_format()

SELECT sum(totalExcl) AS total, saleType, date_add,
       date_format(date_add, '%M')
FROM ex.ps_ox_quo
WHERE WEEK(date_add) = WEEK(UTC_TIMESTAMP()) AND
      saleType IN ('IEW')
GROUP BY date_add, saleType
ORDER BY date_add DESC;

注意:您应该在日期比较中包含年份。

答案 1 :(得分:0)

您有一个date_add列的日期时间类型,您可以使用MONTHNAME

SELECT 
sum(totalExcl) AS total, saleType, MONTHNAME(date_add)
FROM
ex.ps_ox_quo
WHERE
   WEEK(date_add) = WEEK(UTC_TIMESTAMP())
       AND saleType IN ('IEW')
GROUP BY MONTHNAME(date_add)
 ORDER BY MONTHNAME(date_add) DESC

答案 2 :(得分:0)

试试这个

SELECT 
sum(totalExcl) AS total, saleType, monthname(date_add)
FROM
ex.ps_ox_quo
WHERE
month(date_add) = month(UTC_TIMESTAMP())
    AND saleType IN ('IEW')
GROUP BY month(date_add)
ORDER BY month(date_add) DESC

答案 3 :(得分:0)

选择YEAR_MONTH(now())作为当前月