0
我在我的MySQL数据库中有一个日期列。从这个日期我如何获得dayofquarter?从日期获取DayOfQuarter
从本季度开始直到现在,我一直在做一个datediff,但希望能够动态地做到这一点。
我在我的MySQL数据库中有一个日期列。从这个日期我如何获得dayofquarter?从日期获取DayOfQuarter
从本季度开始直到现在,我一直在做一个datediff,但希望能够动态地做到这一点。
你必须做一些计算,但它绝对可以在MsSQL中动态完成。我可以使用日期2016年4月30日(2016-04-30
)作为例子:
首先,这里是你如何动态地获得一个季度的第一天:
SELECT makedate(YEAR("2016-04-30"), 1) + INTERVAL QUARTER("2016-04-30") QUARTER - INTERVAL 1 QUARTER
一旦你有了这个,减它从原来的日期,以获得四分之一的一天的日期和把它加1(或第一天是第0天)
SELECT DATEDIFF("2016-04-30",(makedate(YEAR ("2016-04-30"), 1) + INTERVAL QUARTER("2016-04-30") QUARTER - INTERVAL 1 QUARTER)) + 1 AS dayofquarter
是动态的,随着日期列替换所有三个2016-04-30
日期您正在查询的表格为:
SELECT DATEDIFF(`somedatecolumn`,(makedate(YEAR (`somedatecolumn`), 1) + INTERVAL QUARTER(`somedatecolumn`) QUARTER - INTERVAL 1 QUARTER)) + 1 AS dayofquarter FROM `my_table`
如果你正在寻找一个简单,时髦,内置样DAYOFQUARTER(somedate)
功能,你的运气了出来,你需要创建自己的http://dev.mysql.com/doc/refman/5.7/en/create-procedure.html
嘿萌,做我的出奇的真棒答案满足您的需求? – Ray