我想弄清楚如何能够根据均匀或不均匀的日期来选择记录。在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