、これはSQL Serverの2K8 +であれば、あなたがこれを行うことができます:date
への変換の代わりに、datetime
と協力することで
DECLARE @CreationDate Date = '2011-08-31';
SELECT *
FROM SomeTable
WHERE CONVERT(Date, CreationDate) = @CreationDate;
をあなたは時間コンポーネントを失い、どのように「正常化」あなたは値を比較しています。比較のために時間コンポーネントを失う
別の方法がある:あなたがdate
データ型を持っていない場合
DECLARE @CreationDate DateTime;
SELECT @CreationDate = '2011-08-31 21:19:14.345';
SELECT @CreationDate; -- 2011-08-31 21:19:14.345
SELECT @CreationDate = CONVERT(DateTime, FLOOR(CONVERT(Float, @CreationDate)));
SELECT @CreationDate; -- 2011-08-31 00:00:00.000
あなたはそれを使用します。その日のすべての回をキャッチするために
ループは通常、貧しい練習で、私たちは、あなたがそうしている私たちはより良いセットベースの方法にあなたを指すことができますかについて、いくつかの詳細を持っているだろうか? – HLGEM