Ik probeer uit me MSSQL database data te halen tussen een bepaalde datum periode. De data staat opgeslagen in het formaat dd/mm/yyyy.

De query is:

SELECT [Close Date] FROM <tabel naam> WHERE ([Close Date] BETWEEN 10/03/2011 AND 20/03/2011)

Maar ik krijg hiermee de error "Syntax error converting the varchar value '09/14/2010' to a column of data type int."

09/14/2010 is de entry die bovenaan staat, daarom laat hij die datum zien in de error (denk ik).
Ik weet niet hoe Microsoft met 09/14/2010 omgaat, maar in mysql is dat géén datum. Zoals het er nu staat is het 09 gedeeld door 14 gedeeld door 2010.
- SanThe - op 23/03/2011 14:37:44

Ik weet niet hoe Microsoft met 09/14/2010 omgaat, maar in mysql is dat géén datum. Zoals het er nu staat is het 09 gedeeld door 14 gedeeld door 2010.

Is er een manier waarop ik dit kan omzeilen door er bijvoorbeeld 09142011 van te maken zonder het database aan te hoeven passen?

-Edit-
Er is ook nog een ander veld wat ik zou kunnen gebruiken. Namelijk [LastModified], en dat is in een dd-mm-yyyy hh:mm:ss.sss formaat opgeslagen. sss is miliseconde of hoe dat ook heet.

-Edit2-
Iemand wees me er ook op dat DATEDIFF() een methode zou kunnen zijn die ik zou kunnen gebruiken. Maar ik heb geen flauw idee hoe ik dit dan zou moeten toepassen.

-Edit3-
Fixed!
SELECT [Close Date] FROM <tabel naam> WHERE ([Close Date] >= GETDATE() - 7)
Je moet de datum in het juiste formaat aanbieden of je moet werken met datum velden in je database. Voorbeeldje: where date between '2005-01-01' and '2005-01-31'

Reageren