1

从 2010 年 12 月 31 日到 2011 年 12 月 31 日,我尝试每 14 天返回一次,但此声明似乎不起作用

SELECT DISTINCT 
    Convert(varchar,Month(Time_Stamp)) + '/' +     
    Convert(varchar,DAY(Time_Stamp))
FROM Report
WHERE Time_Stamp LIKE '%2011%' AND     
Convert(varchar(20),DATEDIFF(D,'2010-12-31',Time_Stamp) / 14) NOT LIKE '%.%'
ORDER BY 1

这似乎不起作用,因为它返回奇怪的日期......

1/1
1/10
1/11

当它应该每 14 天返回一次时,像这样......

1/14
1/28
2/11

等等..

任何人都知道一种更清洁的方法,它真的有效吗?

4

1 回答 1

1

更改模值以偏移开始日期

SELECT DISTINCT 
    Convert(varchar,Month(Time_Stamp)) + '/' +     
    Convert(varchar,DAY(Time_Stamp))
FROM Report
WHERE
     Time_Stamp LIKE '%2011%'
     AND     
     DATEPART(dayofyear, Time_Stamp) % 14 = 0
ORDER BY 1
于 2013-05-21T08:25:41.627 回答