u moet kijken naar de datum-tijdnotaties die beschikbaar zijn in SQL Server:https:// msdn.microsoft.com/en-us/library/ms187928.aspx
yyyy-mm-dd hh:mi is wat je zou moeten gebruiken:
probeer:
SELECT
*
FROM Records
WHERE DateCreated>='2007-02-30 10:32' AND DateCreated<='2008-06-21 14:19'
in de bovenstaande query worden de tekenreeksen geconverteerd naar het datatype datetime als DateCreated is een datetime-kolom. en de zoekopdracht zal werken.
u kunt lokale variabelen van het datatype datetime maken en een query gebruiken zoals:
DECLARE @StartDate datetime, @EndDate datetime
SELECT @StartDate='2007-02-30 10:32', @EndDate='2008-06-21 14:19'
SELECT
*
FROM Records
WHERE DateCreated>example@sqldat.com AND DateCreated<example@sqldat.com
Ik gebruik graag <, <=,>=of> omdat het meer flexibiliteit biedt dan BETWEEN en dwingt je na te denken over het wel of niet opnemen van eindpunten.
Een ander ding om te overwegen is het verkrijgen van alle gegevens van een volledige dag:
DECLARE @StartDate datetime, @EndDate datetime
--set the days you want
SELECT @StartDate='2007-02-30 10:32', @EndDate='2008-06-21 14:19'
--remove the time
SELECT @StartDate=DATEADD(day,DATEDIFF(day,0,@StartDate),0), @EndDate=DATEADD(day,DATEDIFF(day,0,@EndDate),0)
--get everything on '2007-02-30' up to the end of the day on '2008-06-21'
SELECT
*
FROM Records
WHERE DateCreated>example@sqldat.com AND DateCreated<@EndDate+1