0
我有一個帶有時間戳字段的表格。在Postgresql中,我必須定義一個'營業月'作爲當月的第一個星期日到次月的第一個星期六(例如,2014年4月6日至2014年5月3日將是'2014年4月' )。定義一個營業月份:一個月的第一個星期日,直到下個月的第一個星期六
我不太確定從哪裏開始。到目前爲止,我從this forum post(使用T-SQL)獲得第一個星期天。
--first sunday of this month....
-1=sunday,-2=saturday,-3-friday etc
SELECT
datename(dw,dateadd(dd,-1,DATEADD(wk,
DATEDIFF(wk,0,dateadd(dd,7-datepart(day,getdate()),getdate())), 0))),
dateadd(dd,-1,DATEADD(wk,
DATEDIFF(wk,0,dateadd(dd,7-datepart(day,getdate()),getdate())), 0))
我可能需要建立一個日曆表並手動定義月份。但我想探索其他解決方案。
沒有其他的解決方案會比萬年曆錶更好。 –
我會非常強烈地推薦一個日曆表。當你開始處理複雜的日期操作時,很容易搞砸你的邏輯,直到你投入生產之後的幾個月(甚至幾年)纔會注意到它。閏年是一個特別常見的錯誤來源。如果是我,我肯定會爲此創建一個日曆表。這比使用邏輯表達式處理日期要簡單得多。 – evanv