Eenvoudige DateTime sql query

Hoe kan ik een query uitvoeren op een DateTime database veld binnen een bepaald bereik?

Ik gebruik SQL SERVER 2005

Fout code hieronder

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

Merk op dat ik rijen moet krijgen binnen een bepaald tijdsbereik. Voorbeeld, 10 minuten tijd bereik.

Momenteel SQL terugkeer met onjuiste syntaxis in de buurt '12'."

Oplossing

Je miste het enkele aanhalingsteken:


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

Je hebt aanhalingstekens nodig rond de string die je probeert door te geven als een datum, en je kunt hier ook BETWEEN gebruiken:

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

Zie het antwoord op de volgende vraag voor voorbeelden van hoe u expliciet tekenreeksen naar datums kunt converteren terwijl u het formaat opgeeft:

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

Commentaren (2)

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