webForumDet fria alternativet

count(*)

8 svar · 243 visningar · startad av Eclipse

EclipseMedlem sedan juli 20003 741 inlägg
#1
SQL = "SELECT COUNT(*) " _
	& " FROM company c, visitorClickLog vcl " _
	& " WHERE c.intID = vcl.intCompanyID " _
	& " AND c.intID =  " & request("companyID") _
	& " AND vcl.dteCreated = #" & date() & "# ;"

SQL = "SELECT COUNT(*) " _
	& " FROM visitorClickLog vcl " _
	& " WHERE vcl.dteCreated = #" & date() & "# ;"

set mySQL = Conn.Execute(SQL)

Denna koden borde bli 24 eller nåt men blir 0. Något som är fel...?!

(Den andra koden är en stripp av den första... Båda blir dock 0. Access + asp)

emissionMedlem sedan dec. 19996 095 inlägg
#2

Det beror sannolikt på att datumet i dteCreated är lagrat med klockslag, men du jämför med ett rent datum. Kolla istället om dteCreated ligger mellan

date() & "00:00:00"

och

date() & "23:59:59"

...eller något som ger motsvarande resultat.

EclipseMedlem sedan juli 20003 741 inlägg
#3

Hmm... givetvis är det så!

Förstår inte hur jag kunnat knacka asp så länge och inte stött på detta tidigare...

Finns det inget motsvarande formatDateTime(myDate,2) i SQL?

Skulle i så fall bli nåt liknande...

& " WHERE formatDateTime(vcl.dteCreated,2) = #" & date() & "# ;"

Engine^Medlem sedan dec. 20002 861 inlägg
#4

Det närmaste är väl

cast( '2005-08-25' as smalldatetime )
Engine^Medlem sedan dec. 20002 861 inlägg
#5

Hmm. Nu blev jag osäker på vilket håll du ville konvertera...

convert( varchar( 10 ), '2005-08-25 11:00:00', 20 )

om det ska motsvara

FormatDateTime( '2005-08-25 11:00:00', 2 )
EclipseMedlem sedan juli 20003 741 inlägg
#6

Microsoft JET Database Engine error '80040e14'

Undefined function 'convert' in expression.

/admin/banner/log.asp, line 46

SQL = "SELECT COUNT(*) " _
	& " FROM visitorClickLog vcl " _
	& " WHERE convert( varchar( 10 ), vcl.dteCreated, 20 ) = #" & date() & "# ;"

Hmm... det finns inget i SQL som heter convert...! :-)

***
Tack för ditt inlägg! Jag letar på egen hand samtidigt.

http://www.w3schools.com/sql/default.asp

Denna dokumentationen hittade jag och där står inget om convert.

Peter SMedlem sedan dec. 20025 484 inlägg
#7
format(vcl.dteCreated, "short date")
Engine^Medlem sedan dec. 20002 861 inlägg
#8

Microsoft JET... om du kör Access ska det väl gå med

select count(*)
from visitorClickLog vcl
where FormatDateTime( vcl.dteCreated, 2 ) = #" & date() & "#"

Eclipse skrev:

Hmm... det finns inget i SQL som heter convert...! :-)

CAST and CONVERT

EclipseMedlem sedan juli 20003 741 inlägg
#9
SQL = "SELECT COUNT(*) " _
	& " FROM visitorClickLog vcl " _
	& " WHERE vcl.dteCreated > #" & date() & " 00:00:00" & "# AND vcl.dteCreated < #" & date() & " 23:59:59" & "#  ;"

SQL = "SELECT COUNT(*) " _
	& " FROM company c, visitorClickLog vcl " _
	& " WHERE c.intID = vcl.intCompanyID " _
	& " AND c.intID =  " & request("companyID") _
	& " AND vcl.dteCreated > #" & date() & " 00:00:00" & "# AND vcl.dteCreated < #" & date() & " 23:59:59" & "#  ;"

SQL = "SELECT COUNT(*) " _
	& " FROM company c, visitorClickLog vcl " _
	& " WHERE c.intID = vcl.intCompanyID " _
	& " AND c.intID =  " & request("companyID") _
	& " AND format(vcl.dteCreated, 'short date') = #" & date() & "# ;"

response.write SQL & "<BR><BR>"

set mySQL = Conn.Execute(SQL)

Dessa tre fungerar.

Genererad på 376 ms · cache AV · v20260730165559-full.f96bc7eb