Enkel DateTime sql-spørring

Hvordan spør jeg etter DateTime-databasefeltet innenfor et bestemt område?

Jeg bruker SQL SERVER 2005

Feilkode nedenfor

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

Merk at jeg trenger å få rader innenfor et bestemt tidsintervall. Eksempel, tidsintervall på 10 minutter.

For øyeblikket SQL-retur med feil syntaks i nærheten av '12'."

Løsning

Du gikk glipp av enkelt anførselstegn:


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

Du trenger anførselstegn rundt strengen du prøver å passere som en dato, og du kan også bruke BETWEEN her:

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

Se svaret på følgende spørsmål for eksempler på hvordan du eksplisitt konverterer strenger til datoer mens du spesifiserer formatet:

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

Kommentarer (2)

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