确定日期是否在日期的四分之一处

时间:2015-04-09 19:03:02

标签: mysql sql date

我需要编写一些SQL来确定当前月份是否基于指定日期的四分之一。

如果我给它' 2015-04-09',该函数应该确定月份是否等于1,4,7或10.如果我给它' 2015-05 -09',它将是2,5,8,11等等......

如果整个解决方案在SELECT语句中是自包含的,那么它将最有效。我不太确定如何处理这个问题,我无法找到适合我情况的任何东西。我不关心这一天或一年,我只需要验证月份。

3 个答案:

答案 0 :(得分:1)

您可以使用month()提取月份,然后使用模运算。像这样:

select (case when mod(month($input) - month($thedate), 3) = 0 then 1
             else 0
        end)

答案 1 :(得分:1)

看起来你想知道这个表达式何时为真:

(mod(EXTRACT(MONTH FROM SYSDATE()), 3)) = (mod(EXTRACT(MONTH FROM <input date>), 3))

答案 2 :(得分:0)

如果您有一个四分之一数字,并且想要获取一个四分之一开始的月份:

QuarterNo * 3 - 2

如果要获取季度号,请给出月份号:

floor((MonthNo-1) /3) +1

如果您有日期列,并且想要季度数字,请使用:

DATEPART(qurter, date_column)