SQL Serverで指定した日付以降の行のリストを返すにはどうすればよいですか?現在私が持っているものは次のとおりです:
select * from SALESTABLE where CREATEDDATETIME
BETWEEN '26/04/2012 00:00:00.00' AND GETDATE()
しかし、これはエラーをスローします:
varchar データ型を datetime データ型に変換すると、範囲外の値になりました。
SQL Serverで指定した日付以降の行のリストを返すにはどうすればよいですか?現在私が持っているものは次のとおりです:
select * from SALESTABLE where CREATEDDATETIME
BETWEEN '26/04/2012 00:00:00.00' AND GETDATE()
しかし、これはエラーをスローします:
varchar データ型を datetime データ型に変換すると、範囲外の値になりました。
BETWEEN '26 April 2012' AND GETDATE()
それはうまくいく
文字列形式を変更します。
select * from SALESTABLE where CREATEDDATETIME
BETWEEN '20120426' AND GETDATE()
編集:コメントから更新されましたが、ダッシュがISO形式を壊していることを知りませんでした-SQL管理スタジオはその形式で日付を出力するため、私は常にそれが「正常」であると想定していました
select * from SALESTABLE where CREATEDDATETIME
BETWEEN '26/04/2012 00:00:00.00' AND GETDATE()
これをに変更
select * from SALESTABLE where CREATEDDATETIME
BETWEEN CONVERT(datetime, '26/04/2012', 103) AND GETDATE()
そして、それが役立つかどうかを確認してください