私のクエリで相対日付を使用しようとしています。私は2つのこれを行う方法(必ずもっとあります)が、私にとってはどちらも仕事を見てきましたし、私はこれがそのにもかかわらず(GETDATE()
ためである2016年6月14日選択クエリの相対日付を使用
select * from tblMy where DatePrice = GETDATE() - 1
select * from tblMy where DatePrice = DATEADD(DAY, -1, GETDATE())
私のクエリで相対日付を使用しようとしています。私は2つのこれを行う方法(必ずもっとあります)が、私にとってはどちらも仕事を見てきましたし、私はこれがそのにもかかわらず(GETDATE()
ためである2016年6月14日選択クエリの相対日付を使用
select * from tblMy where DatePrice = GETDATE() - 1
select * from tblMy where DatePrice = DATEADD(DAY, -1, GETDATE())
のための私のテーブル内のデータを見ることができます検索から名前)には時間要素があります。したがって、DatePrice
に時間コンポーネントがない場合は、真夜中にのみ一致します。 DatePrice
に時間成分がある場合、それらはほとんど一致しません。
:
where DatePrice = CAST(DATEADD(DAY, -1, GETDATE()) as DATE)
あるいは、時間コンポーネントの有無にかかわらず、安全なバージョンで:
where DatePrice >= CAST(DATEADD(DAY, -1, GETDATE()) as DATE) AND
DatePrice < CAST(GETDATE() as DATE)
ああ意味があります!私が見ていたテーブルには、時間コンポーネントがない日付があります – mHelpMe
コラム "DatePrice" のデータ型は何ですか? –