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 に答える