web-dev-qa-db-ja.com

SQLで可変日付を設定する

SQL Server Management Studioでは、以下に示すように、日付の変数を使用して特定の日付と時刻を参照しようとしています。

Declare @specified_date Date
set @specified_date = '07-01-2013'

Select * 
from etc
Where CreatedDate > CONVERT(datetime, @specified_date & '00:00:00.000' )

このコードは機能していません。このエラーが表示されます。

データ型dateとvarcharは、 '&'演算子では互換性がありません。

使用されるデータには日付と時刻の両方のコードがあり、複数のクエリを変更する代わりに、日付を一度だけ定義して変数に引き継ぐことができるようにしたいと思います。誰かが解決策を知っているなら、それは素晴らしいことです。

17
Dakota

これを試しましたか:

Declare @specified_date Date
set @specified_date = '07-01-2013'
Select * from etc
Where CreatedDate > @specified_date
23
BWS

&の代わりに+を使用します。文字列をキャストして日時にする必要もあります。

Declare @specified_date Date
set @specified_date = '07-01-2013'
Select * from etc
Where CreatedDate > CONVERT(datetime, @specified_date + cast('00:00:00.000' as datetime))
3
Travis Grannan