Semplice query sql DateTime

Come posso interrogare un campo di database DateTime entro un certo intervallo?

Sto usando SQL SERVER 2005

Codice di errore qui sotto

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

Nota che ho bisogno di ottenere righe entro un certo intervallo di tempo. Esempio: intervallo di tempo di 10 minuti.

Attualmente SQL ritorna con sintassi errata vicino a '12'."

Soluzione

Hai mancato il segno di citazione singola:


SELECT * 
FROM TABLENAME 
WHERE DateTime >= '12/04/2011 12:00:00 AM' AND DateTime 
Commentari (6)

Avete bisogno di virgolette intorno alla stringa che state cercando di far passare per una data, e potete anche usare BETWEEN qui:

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

Vedi la risposta alla domanda seguente per esempi su come convertire esplicitamente le stringhe in date specificando il formato:

https://stackoverflow.com/questions/207190/sql-server-string-to-date-conversion

Commentari (2)

SELECT * 
  FROM TABLENAME 
 WHERE [DateTime] >= '2011-04-12 12:00:00 AM'
   AND [DateTime] 
Commentari (0)