Jednoduchý dotaz sql DateTime

Ako sa môžem opýtať na pole DateTime v databáze v určitom rozsahu?

Používam SQL SERVER 2005

Nižšie uvedený chybový kód

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

Všimnite si, že potrebujem získať riadky v určitom časovom rozsahu. Príklad, časový rozsah 10 minút.

V súčasnosti SQL vracia s nesprávnou syntaxou v blízkosti '12'."

Riešenie

Vynechali ste znak jednoduchých úvodzoviek:


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

Okolo reťazca, ktorý sa snažíte vydávať za dátum, potrebujete úvodzovky a môžete tu tiež použiť BETWEEN:

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

Príklady, ako explicitne konvertovať reťazce na dátumy a zároveň určiť formát, nájdete v odpovedi na nasledujúcu otázku:

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

Komentáre (2)

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