statusdate
ODBC 日付/時刻と呼ばれる列を持つ SQL Server テーブルがあります。2 つの日付 (開始日と終了日) の間の範囲を返すことができるよう
にする必要があります。SELECT query WHERE statusdate
私はDATEDIFF
自分のWHERE
声明で使用するように言われました。これは正しいですか、構文は何ですか?
質問する
4638 次
2 に答える
3
SQL Server 2008/2012と、date
その間で使用できるデータ型を使用している場合。
select *
from YourTable
where statusdate between @StartDate and @EndDate
を使用する場合は、を使用することdatetime
をお勧めします。代わりに、時間の部分に関係なくすべての値を取得するようにしてください。>=
<
select *
from YourTable
where statusdate >= @StartDate and
statusdate < dateadd(day, 1, @EndDate)
アップデート
WHEREステートメントでDATEDIFFを使用するように言われました。これは正しいです
いいえ、これには使用しないでくださいdatediff
。
構文は何ですか?
ここで...しかし、それを使用しないでください。
select *
from YourTable
where datediff(day, statusdate, @StartDate) = 0 and
datediff(day, statusdate, @EndDate) = 0
于 2012-05-02T18:27:14.847 に答える
0
なぜあなたはただやってみませんBETWEEN
か?:
SELECT *
FROM YourTable
WHERE statusdate BETWEEN StartDate AND EndDate
于 2012-05-02T17:58:35.590 に答える