webForumDet fria alternativet

MS Sql: Between skippar ett visst datum, varför?

4 svar · 331 visningar · startad av Mattias Nordin

Mattias NordinMedlem sedan dec. 20051 056 inlägg
#1
<% sub subShowShipments(sFromDate,sToDate)
'1)-SQL QUERY...
sql = " SELECT Order_Num, AddUser, AddDate, Summary, Address1, Country, OrderStat, ListTotal"
sql = sql &" FROM OrdMain "
sql = sql &" WHERE ListTotal = 0"
sql = sql &" AND AddDate BETWEEN '" &sFromDate &"' AND '" &sToDate &"'" 
sql = sql &" ORDER BY AddDate DESC"
set rs = objCon.execute(sql) 
response.write(sql)
%>

Resultatet listar allt rätt utom en post. Datumen i tabellen är av typen 2006-06-29. Dessa returneras.
Det som inte returneras är datum som har syntaxen 2006-06-29 10:12:54

kör jag...

 <%=isDate(rs("AddDate"))%>

så returneras true på alla rader?

Några ideer ?

DinoMedlem sedan sep. 20011 914 inlägg
@ndersMedlem sedan juni 200032 969 inlägg
#3

Datatypen på fältet är förstås DateTime?

Mattias NordinMedlem sedan dec. 20051 056 inlägg
#4

@nders skrev:

Datatypen på fältet är förstås DateTime?

Datatype = datetime
Size = 8

Ska läsa igenom sidan som postades ovan. Den verkade belysa ämnet. Jag är inte van att arbeta med MS sql server som databas.

Mattias NordinMedlem sedan dec. 20051 056 inlägg
#5

Dino skrev:

http://vyaskn.tripod.com/searching_date_time_values.htm

Det var en bra beskrivning.

Jag använder mig av följande och det verkar fungera. Vet inte om det anses vara en bra eller dålig lösning.

<% sub subShowOrders(sFromDate,sToDate) 
sFromDateMin = sFromDate
sFromDateMax = dateAdd("D", 1, sFromDate)
sToDateMin = sToDate
sToDateMax = dateAdd("D", 1, sToDate)
'1)	-	SQL QUERY...
		sFromDate = left(sFromDate,10)
		sql = " SELECT Order_Num, AddUser, AddDate, Summary, Address1, Country, OrderStat, ListTotal"
		sql = sql &" FROM OrdMain "
		sql = sql &" WHERE ListTotal <> 0"
		'FROM DATE...
		[b]sql = sql &" AND AddDate >= '" &sFromDateMin &"' AND AddDate < '" &sFromDateMax &"'"[/b] 
		'TO DATE...
		[b]sql = sql &" AND AddDate >= '" &sToDateMin &"' AND AddDate < '" &sToDateMax &"'"[/b] 
		sql = sql &" ORDER BY AddDate DESC"
		set rs = objCon.execute(sql) 
		response.write(sql)
%>
127 ms totalt · 3 externa anrop · v20260731065814-full.2b84b982
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)