Avatar billede gimdner Nybegynder
22. januar 2002 - 16:45 Der er 18 kommentarer

SQL til sammenligning af dato

Jeg skal bruge en sql-statement som kan tælle det antal posten i min db som matcher den pågældende dato på dagen. Dvs hvis der skulle tælles idag ville det være alle post som matcher den 22. januar 2002, i morgen ville det være 23. januar 2002 osv..
Avatar billede invisibleman Nybegynder
22. januar 2002 - 16:49 #1
Til Access database ?

SELECT * FROM tabel WHERE datofelt=NOW()
Avatar billede invisibleman Nybegynder
22. januar 2002 - 17:25 #2
forkert ...

tænker lige ..
Avatar billede coltau Juniormester
22. januar 2002 - 21:01 #3
Her:

RS = obj.Execute("SELECT Count(*) FROM tabel WHERE datofelt=NOW()")

Max = RS.RecordCount ' Antal poster
Hvis RecordCount skal anvendes skal RS.CursorType sættes til adOpenStatic eller adOpenKeySet
Avatar billede jgp Nybegynder
23. januar 2002 - 14:45 #4
SELECT COUNT(*) AS antal FROM tabel WHERE datofelt=NOW();
Eller
SELECT COUNT(*) AS antal FROM tabel WHERE datofelt="&date&";

rs("antal")
Avatar billede gimdner Nybegynder
23. januar 2002 - 16:21 #5
Jeg bruger den her: SQL = "SELECT COUNT(*) AS today FROM tagwall WHERE date=now()"
set RStoday = DB.Execute (SQL)

men det virker ikke :( den står til 0 uanset hvad
Avatar billede jgp Nybegynder
23. januar 2002 - 16:34 #6
Prøv denne:
SQL = "SELECT COUNT(*) AS today FROM tagwall;"
set RStoday = DB.Execute (SQL)
Response.Write RStoday("today")
Avatar billede gimdner Nybegynder
23. januar 2002 - 17:05 #7
den tæller jo bare alle posteringen i tagwall... det dur ikke
Avatar billede jgp Nybegynder
24. januar 2002 - 08:44 #8
Nej, men det er bedre at prøve at finde fejlen, end at lave ingen ting, ik?
Avatar billede gimdner Nybegynder
24. januar 2002 - 10:34 #9
jamen hvis nu jeg allerede bruger den sætning du kom med?
Avatar billede jgp Nybegynder
24. januar 2002 - 10:37 #10
Og den virker?
Ellers prøv:
SQL = "SELECT COUNT(*) AS today FROM tagwall WHERE date=now()"
Response.write SQL
set RStoday = DB.Execute (SQL)
Avatar billede gimdner Nybegynder
24. januar 2002 - 10:41 #11
SQL = "SELECT COUNT(*) AS today FROM tagwall WHERE date="& FormatDateTime(now, 2)
    set RStoday = DB.Execute (SQL)

hvis jeg udskriver "formatDateTime(now, 2)", så udskriver den godt nok datoen i dag, i samme format som det ligger i db. Den vil bare ikke sammenligne?
Avatar billede jgp Nybegynder
24. januar 2002 - 10:43 #12
Hvilken format er det?  og hvilken databse er det?
Avatar billede jgp Nybegynder
24. januar 2002 - 10:44 #13
okey formatet er MM/DD/YYYY, men hvilken DB bruger du?
Avatar billede gimdner Nybegynder
24. januar 2002 - 10:45 #14
access
Avatar billede jgp Nybegynder
24. januar 2002 - 10:46 #15
SQL = "SELECT COUNT(*) AS today FROM tagwall WHERE date=#"& FormatDateTime(now, 2) &"#
set RStoday = DB.Execute (SQL)
Avatar billede gimdner Nybegynder
24. januar 2002 - 10:52 #16
dutter ikke... syntax fejl
Avatar billede jgp Nybegynder
24. januar 2002 - 11:22 #17
Hvis det kan lade sig gøre vil jeg gerne se en Response.Write af SQL strengen
Avatar billede coltau Juniormester
24. januar 2002 - 16:37 #18
Hvordan kan det tage så lang tid:

Hvis Access-database anvendes #
RS = obj.Execute("SELECT Count(*) FROM tabel WHERE datofelt=#" & Date & "#")

Antal = RS(0)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester