webForumDet fria alternativet
Logga in / Bli medlem

getdate()

Databaser & SQL

5 svar · 162 visningar · startad av kristoffer

Medlem sedan juni 20001 257 inlägg
Frågan#1

Varför får jag olika resultat av nedanstående uttryck?

strSQL = "SELECT COUNT(*) FROM tabell WHERE mydate >= '" & date() "'"
strSQL = "SELECT COUNT(*) FROM tabell WHERE mydate >= GETDATE()"
Medlem sedan dec. 200012 464 inlägg
#2

getdate returnerar både datum och tid, date returnerar enbart datum.

Medlem sedan juni 20001 257 inlägg
#3

Och det finns ingen funktion i sql som returnerar enbart datum?

Medlem sedan dec. 200012 464 inlägg
#4

Jodå, i sql finns det en funktion som heter current_date, men sql server har inte stöd för den. I stället så får man använda funktionen convert.

convert(char(12),getdate(),101)

Vilken värde du har på sista parametern beror på vilket default datumformat du har.

Dok finns här
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_ca-co_2f3o.asp

Medlem sedan juni 20001 257 inlägg
#5

Tackar. Tror du det blir någon prestandavinst genom att göra så istället för att använda det första uttrycket i mitt översta inlägg?

Medlem sedan dec. 200012 464 inlägg
#6

Nej, jag har svårt tänka mig att det skulle bli någon prestandaskillnad.

274 ms totalt · 4 externa anrop · v20260731065814-full.5386d3bf
132 ms — deklarationer (db)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)