0

SQL Serverで指定した日付以降の行のリストを返すにはどうすればよいですか?現在私が持っているものは次のとおりです:

select * from SALESTABLE where CREATEDDATETIME 
BETWEEN '26/04/2012 00:00:00.00' AND GETDATE()

しかし、これはエラーをスローします:

varchar データ型を datetime データ型に変換すると、範囲外の値になりました。

4

3 に答える 3

2
BETWEEN '26 April 2012' AND GETDATE()

それはうまくいく

于 2012-05-17T07:27:44.690 に答える
1

文字列形式を変更します。

select * from SALESTABLE where CREATEDDATETIME 
BETWEEN '20120426' AND GETDATE()

編集:コメントから更新されましたが、ダッシュがISO形式を壊していることを知りませんでした-SQL管理スタジオはその形式で日付を出力するため、私は常にそれが「正常」であると想定していました

于 2012-05-17T07:24:38.740 に答える
0
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()

そして、それが役立つかどうかを確認してください

于 2012-05-17T07:20:19.090 に答える