0

日時列と、渡された引数と列の日時との差をチェックする必要があるストアド プロシージャがあります。

基本的には5分以内の差分を返したいと思っています。

たとえば、次の表があります。

ID | Date
----------
1  | 2013-07-20 10:00:00
2  | 2013-07-20 11:00:00
3  | 2013-07-20 10:01:00
4  | 2013-07-20 10:03:00

たとえば、渡された引数が「2013-07-20 10:02:00」の場合、戻り値は次のようになります。

1
3
4

それらはすべて、渡された引数よりも 5 分少ないまたは多い範囲内にあるためです。

問題は、どうやって?

4

2 に答える 2

3
DECLARE @date datetime = '2013-07-20 10:02:00';

SELECT id
FROM   your_table
WHERE  date_field >= DateAdd(mi, -5, @date)
AND    date_field <  DateAdd(mi, +5, @date);
于 2013-07-30T14:26:16.490 に答える
1

使用DATEDIFF:

SELECT * FROM dbo.Table1
WHERE ABS(DateDiff(minute,@date,Date))<=@diffMin

デモ

于 2013-07-30T14:29:15.937 に答える