1. ホーム
  2. sql

[解決済み] 単純なDateTime sqlクエリ

2022-03-12 10:32:48

質問

DateTimeデータベースのフィールドを特定の範囲内でクエリするにはどうすればよいですか?

SQL SERVER 2005 を使用しています。

エラーコードは以下の通りです。

SELECT * 
  FROM TABLENAME 
 WHERE DateTime >= 12/04/2011 12:00:00 AM 
   AND DateTime <= 25/05/2011 3:53:04 AM

ある時間範囲内の行を取得する必要があることに注意してください。 例:10分間の時間範囲。

現在、SQLは'12'."の近くで不正な構文で返されます。

どうすればいいですか?

シングルクォート記号を見逃しています。

SELECT * 
FROM TABLENAME 
WHERE DateTime >= '12/04/2011 12:00:00 AM' AND DateTime <= '25/05/2011 3:53:04 AM'

また、ISO8601形式 YYYY-MM-DDThh:mm:ss.nnn[ Z ] を使用すると、サーバーのローカルカルチャーに依存しないため、推奨されます。

SELECT *
FROM TABLENAME 
WHERE 
    DateTime >= '2011-04-12T00:00:00.000' AND 
    DateTime <= '2011-05-25T03:53:04.000'