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