Mysql 确定日期的月份是否在日期的四分之一
我需要编写一些SQL来确定当前月份是否基于指定日期的季度 如果我给它“2015-04-09”,函数应该确定该月是等于1、4、7还是10。如果我给它'2015-05-09',它将是2,5,8,11。等等Mysql 确定日期的月份是否在日期的四分之一,mysql,sql,date,Mysql,Sql,Date,我需要编写一些SQL来确定当前月份是否基于指定日期的季度 如果我给它“2015-04-09”,函数应该确定该月是等于1、4、7还是10。如果我给它'2015-05-09',它将是2,5,8,11。等等 如果整个解决方案都包含在SELECT语句中,则效果最好。我不太确定如何处理这个问题,我也找不到任何适合我的情况的东西。我不在乎日期或年份,我只需要验证月份。您可以使用month()提取月份,然后使用模运算。大概是这样的: select (case when mod(month($input) -
如果整个解决方案都包含在SELECT语句中,则效果最好。我不太确定如何处理这个问题,我也找不到任何适合我的情况的东西。我不在乎日期或年份,我只需要验证月份。您可以使用
month()
提取月份,然后使用模运算。大概是这样的:
select (case when mod(month($input) - month($thedate), 3) = 0 then 1
else 0
end)
看起来您想知道此表达式何时为真:
(mod(EXTRACT(MONTH FROM SYSDATE()), 3)) = (mod(EXTRACT(MONTH FROM <input date>), 3))
(mod(EXTRACT(MONTH FROM SYSDATE()),3))=(mod(EXTRACT(MONTH FROM)),3))
如果您有一个季度编号,并且希望获得季度的起始月份:
QuarterNo * 3 - 2
如果要获取季度号,请给定月份号:
floor((MonthNo-1) /3) +1
如果您有“日期”列,并且需要季度号,请使用:
DATEPART(qurter, date_column)
我不明白你的要求…@MaciejLos,quarter函数返回给定日期的季度,这不是我要找的。谢谢,我不知道它被称为“模”算术,我一直认为它被称为模算术,结果是模。