我想弄清楚如何能夠根據均勻或不均勻的日期來選擇記錄。在tsql中如何根據均勻或不均勻的日期選擇記錄
我有一個4列的表格,一個有註冊日期,我想根據他們的註冊日期(使用分母作爲分母)將他們分成兩組。所以12/4/2013將在平穩和2012年4月3日的不平衡。
我不知道如何構建這個查詢,我正在查看datepart,但不知道是否有更直接的東西。
感謝
我想弄清楚如何能夠根據均勻或不均勻的日期來選擇記錄。在tsql中如何根據均勻或不均勻的日期選擇記錄
我有一個4列的表格,一個有註冊日期,我想根據他們的註冊日期(使用分母作爲分母)將他們分成兩組。所以12/4/2013將在平穩和2012年4月3日的不平衡。
我不知道如何構建這個查詢,我正在查看datepart,但不知道是否有更直接的東西。
感謝
提示(現在,除非你能證明你自己嘗試過的東西),你可以這樣做DATEPART(day, date) % 2
用case語句(case語句是沒有必要的,但可能是,如果你想輕鬆根據您的環境,在不改變查詢的情況下,在均勻和不均勻之間移動)。
DATEPART(dd, your_date)
應該給你日期的一部分,然後用%來確定它是否在WHERE
條款中是否均勻。
SELECT signed_on, DAY(signed_on) % 2 AS uneven
FROM YourTable
uneven
將是要麼0
或1
SELECT DAY('2013-01-03') % 2 -- 1
SELECT DAY('2013-01-02') % 2 -- 0
如果你希望把你列甚至而不是不均勻你可以只逆結果。
SELECT signed_on, POWER(DAY(signed_on) % 2 - 1, 2) AS even
FROM YourTable
我相信這樣的事情應該是直截了當 -
SELECT COL,CASE WHEN DAY(COL)%2=0 THEN 'EVEN' ELSE 'UNEVEN' END AS [EVEN_UNEVEN]
FROM TEST
樣本輸出從我的樣本表 -
COL EVEN_UNEVEN
2014-01-09 22:39:51.203 UNEVEN
2014-01-10 22:39:51.210 EVEN
2014-01-12 22:39:51.210 EVEN
2014-01-13 22:39:51.213 UNEVEN
Suyash我能夠用你的答案完成查詢。我知道我可以使用datepart函數,但不確定是否可以使用%。 – dmcs14db
這將是有益的,如果你能使用[sqlfiddle重現問題](http://sqlfiddle.com/)。 –
'DATEAPART(dd,your_date)'應該給你日期,然後使用%來查找它是否是偶數。 – user2989408