24. februar 2009 - 07:53
Der er
18 kommentarer og 1 løsning
sql forespørgsel hjælp?
Jeg har en aktivitetskalender kørende på et intranet og der sker nu at jeg får en fejl fra IISen response buffer limit exceeded - så lang så godt. Det er fordi jeg henter formange data med min sqlsætning hvor jeg bare bruger select * from - så henter den alle aktiviteter både fra fremtidige aktiviteter og gamle fra sidste år og der er altså mange. Det jeg kunne tænke mig var at lave en sql der hedder noget med SELECT * From tabel WHERE Dato er = this year and Dato >DagsDato
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
24. februar 2009 - 08:08
#1
Noget i den her stil: SELECT * FROM tabel WHERE DatePart(yyyy,Dato)= DatePart(yyyy,GETDATE()) AND Dato > GETDATE() Har ikke lige mulighed for at tjekke syntaksen her, men det burde give en ide
Slettet bruger
24. februar 2009 - 09:31
#2
For at forminske de data, kunne du skrive dine felter du bruger istedet for *. (Hvis der er mange felter du ikke bruger) Lægger dit dato format i datatypen: date / datetime ? Hvis det er et timestamp er der lidt andre forspørgelser der skal bruges. SELECT * FROM table WHERE dato = CURDATE();
Slettet bruger
24. februar 2009 - 09:32
#3
Eller: $sql = 'SELECT * FROM table WHERE dato = NOW()';
24. februar 2009 - 09:59
#4
qtax87> Brugeren beder ikke om aktiviteter for i dag, men aktiviteter i fremtiden... Jeg tror faktisk du kan droppe at sammenligne på årstal... tror at Dato > GETDATE () er nok...
Slettet bruger
24. februar 2009 - 10:21
#5
Okay jamen så er det mig der har misforstået det. Men så er det bare: $sql = 'SELECT * FROM table WHERE dato >= NOW()';
Slettet bruger
24. februar 2009 - 10:21
#6
Så vil den ta' for dem idag, og i fremtiden.
24. februar 2009 - 11:35
#7
tak for hjælpen
24. februar 2009 - 11:39
#8
jeg kunne godt tænke mig at få dagsdato med også - har forsøgt med NOW() ,men får en fejl at den funktion ikke virker på min sqlserver???
Slettet bruger
24. februar 2009 - 12:50
#9
Hvis lige dit sql kald. F.eks.: $sql = 'SELECT * FROM table WHERE dato >= NOW()'; Så skal du bare print dato ud den hiver du jo ud pga. *. Du vil printe den ud i din liste af aktivter ikke?
24. februar 2009 - 12:56
#10
prøv getdate(, det afhænger lidt af hvilken SQL server du bruger
24. februar 2009 - 13:26
#11
det er som layhawkes SELECT * FROM tabel WHERE DatePart(yyyy,Dato)= DatePart(yyyy,GETDATE()) AND Dato > GETDATE() Det virker men jeg får ikke dagsdato med
24. februar 2009 - 14:21
#12
nej selvfølgelig ikke, så er det >= i stedet for > det troede jeg du kendte... derfor svarede jeg ikke igen
24. februar 2009 - 14:22
#13
men jeg tror ikke du behover denne del af query: "DatePart(yyyy,Dato)= DatePart(yyyy,GETDATE()) AND" det burde faktisk blive testet i den sidste del...
24. februar 2009 - 14:48
#14
det jeg vil ha ud er alt fra min aktivitetskalender der er større end eller ligemed d.d. jeg har lige prøvet SELECT * FROM tabel WHERE Dato >= GETDATE() Den gir mig ikke dags dato - kun fra imorgen og frem
Slettet bruger
24. februar 2009 - 14:59
#15
Hvad type er dato (datatype) i din database?
24. februar 2009 - 15:09
#16
godt spm. måske smalltimeinteger - ved det egentlig ikke
25. februar 2009 - 07:31
#17
Jeg antog det var en datetime, men du er nødt til at angive hvad det er, hvis man skal give et ordentligt svar på det
25. februar 2009 - 09:36
#18
jeg er desværre ikke administrator på selve databasen, så jeg har ikke direkte adgang men med et querytool står der timestamp
Kurser inden for grundlæggende programmering