getdate()

Databaser & SQL

5 svar · 181 visningar · startad av kristoffer

Medlem sedan juni 20001 257 inlägg
Trådstart#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.

374 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
118 ms — deklarationer (db)
122 ms — hämta statistik (db)
125 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)