2014-01-09 59 views
0

我想弄清楚如何能够根据均匀或不均匀的日期来选择记录。在tsql中如何根据均匀或不均匀的日期选择记录

我有一个4列的表格,一个有注册日期,我想根据他们的注册日期(使用分母作为分母)将他们分成两组。所以12/4/2013将在平稳和2012年4月3日的不平衡。

我不知道如何构建这个查询,我正在查看datepart,但不知道是否有更直接的东西。

感谢

+0

这将是有益的,如果你能使用[sqlfiddle重现问题](http://sqlfiddle.com/)。 –

+0

'DATEAPART(dd,your_date)'应该给你日期,然后使用%来查找它是否是偶数。 – user2989408

回答

2

提示(现在,除非你能证明你自己尝试过的东西),你可以这样做DATEPART(day, date) % 2用case语句(case语句是没有必要的,但可能是,如果你想轻松根据您的环境,在不改变查询的情况下,在均匀和不均匀之间移动)。

0

DATEPART(dd, your_date)应该给你日期的一部分,然后用%来确定它是否在WHERE条款中是否均匀。

3
SELECT signed_on, DAY(signed_on) % 2 AS uneven 
FROM YourTable 

uneven将是要么01

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 
0

我相信这样的事情应该是直截了当 -

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 
+0

Suyash我能够用你的答案完成查询。我知道我可以使用datepart函数,但不确定是否可以使用%。 – dmcs14db