Oprettet ons. d. 05. maj 2010 kl. 20:59:56

para7
para7 (7.741 point. Point ude: 0)

SQL datediff

Jeg er gået fast med noget datediff. Jeg skal hente records fra en MySql Database. Det jeg skal hente må højst være 7 dage gammelt. Jeg skal vel bruge noget datediff.

Jeg har dog lige det problem at det der er indskrevet i databasen har formatet dd-mm-yyyy.

Er der nogen der kan hjælpe med en kode?

Jeg har prøvet med det her:

strSQL = "SELECT  * FROM clip WHERE clipAktivt = 1 AND WHERE DateDiff("d", datefield, date) < 7 "

Skrevet ons. d. 05. maj 2010 kl. 21:04:32| #1

arne_v
arne_v (1.016.169 point)
Maaske:

strSQL = "SELECT  * FROM clip WHERE clipAktivt = 1 AND WHERE DateDiff(NOW(), datefield) < 7 "

Skrevet ons. d. 05. maj 2010 kl. 22:02:47| #2

para7
para7 (7.741 point)
Tak men syntax error. Eagleeye svarede engang her: http://www.eksperten.dk/ (...)
Men jeg får også syntax error med det forslag.

Skrevet ons. d. 05. maj 2010 kl. 22:08:04| #3

arne_v
arne_v (1.016.169 point)
Har du en fejl tekst?

Hvis du ike faar den i ASP saa proev og udfoer SQL i et andet tool.

Skrevet ons. d. 05. maj 2010 kl. 22:17:26| #4

mitbrugernavn
mitbrugernavn (28.113 point)
strSQL = "SELECT  * FROM clip WHERE clipAktivt = 1 AND datefield < DateAdd("d",date(),7)"

Skrevet ons. d. 05. maj 2010 kl. 22:37:07| #5

para7
para7 (7.741 point)
Tak men:

strSQL = strSQL & "AND AND clipDato < DateAdd("d",date(),7) "
-----------------------------------------------^

Skrevet ons. d. 05. maj 2010 kl. 22:37:45| #6

para7
para7 (7.741 point)
Det skulle pege på "d" ...

Skrevet ons. d. 05. maj 2010 kl. 22:57:12| #7

para7
para7 (7.741 point)
det her er det tætteste på noget der virker, men det giver ikke lissom de sidste 7 dage:

strSQL = strSQL & "AND DATE_ADD(clipDato, INTERVAL 7 DAY) > Now() "

Bliver ikke rigig klog på MySql manualen her:
http://dev.mysql.com/ (...)

Skrevet ons. d. 05. maj 2010 kl. 23:41:25| #8

para7
para7 (7.741 point)
Det her gir ingen records:
strSQL = strSQL & "AND clipDato BETWEEN DATE_SUB(now(), INTERVAL 7 DAY) AND now() "

Skrevet tor. d. 06. maj 2010 kl. 00:30:45| #9

mitbrugernavn
mitbrugernavn (28.113 point)
strSQL = "SELECT  * FROM clip WHERE clipAktivt = 1 AND clipDato < DateAdd("d",date(),7)"

' når du laver dette - DateAdd("d",date(),7) - så lægger du 7 dage til dagsdato

datofeltet som jeg tro hedder clipDato er det sat til dato format

7_dage = DateAdd("d",date(),7)

hvis det er mysql db så:
ny_dato = year(7_dage)&"-"&month(7_dage)&"-"&day(7_dage)
strSQL = "SELECT  * FROM clip WHERE clipAktivt = 1 AND clipDato < '"&ny_dato&"'"

hvis det er access db så:
ny_dato = month(7_dage)&"-"&day(7_dage)&"-"&year(7_dage)
strSQL = "SELECT  * FROM clip WHERE clipAktivt = 1 AND clipDato < #"&ny_dato&"#"

Skrevet tor. d. 06. maj 2010 kl. 07:46:10| #10

para7
para7 (7.741 point)
Tak mitbrugernavn, men stadig ingen udvælgelse af de sidste 7 dage sker.

Skrevet tor. d. 06. maj 2010 kl. 07:50:18| #11

para7
para7 (7.741 point)
Hov, korrektion:
Tegnet er ugyldigt, siges der - sltså det må være underscore...

Skrevet tor. d. 06. maj 2010 kl. 08:22:45| #12

para7
para7 (7.741 point)
clipDate feltet er alm. tekstfelt af andre grunde, men det burde kunne anvendes.

Skrevet tor. d. 06. maj 2010 kl. 08:44:17| #13

mitbrugernavn
mitbrugernavn (28.113 point)
strSQL = "SELECT  * FROM clip WHERE clipAktivt = 1 AND cdate(clipDato) > '"&ny_dato&"'"

men tjek lige hvordan ny_dato skal stå dd-mm-yyyy eller mm-dd-yyyy eller yyyy-mm-dd

Skrevet tor. d. 06. maj 2010 kl. 08:50:30| #14

para7
para7 (7.741 point)
Jeg forstår ikke det med ny_dato. Hvad skal jeg sætte i stedet for ny_dato?

Skrevet tor. d. 06. maj 2010 kl. 08:50:38| #15

para7
para7 (7.741 point)
clipDate er af typen varchar.

Skrevet tor. d. 06. maj 2010 kl. 08:51:36| #16

para7
para7 (7.741 point)
clipDate feltet indeholder dd-mm-yyyy

Skrevet tor. d. 06. maj 2010 kl. 08:52:30| #17

para7
para7 (7.741 point)
Bekræfter at det er MySql database.

Skrevet tor. d. 06. maj 2010 kl. 08:53:53| #18

para7
para7 (7.741 point)
Fx  year(7_dage) som du skriver kan jeg ikke forstå. hvor kommer 7_dage ind i billedet?

Skrevet tor. d. 06. maj 2010 kl. 09:17:52| #19

para7
para7 (7.741 point)
Tak so far...
Jeg kan pinpointe en enkelt dag ad gangen ved brug af ':

'strSQL = strSQL & "AND clipDato = '29-04-2010' "

Følgende virker ikke, tager nogle gamle datoer:
'strSQL = strSQL & "AND clipDato > '" & DateAdd("d",date(),-8) & "' "

Følgende ret klodsede streng virker faktisk:
strSQL = strSQL & "AND (clipDato = '" & DateAdd("d",date(),-7) & "' OR clipDato = '" & DateAdd("d",date(),-6) & "' OR clipDato = '" & DateAdd("d",date(),-5) & "' OR clipDato = '" & DateAdd("d",date(),-4) & "' OR clipDato = '" & DateAdd("d",date(),-3) & "' OR clipDato = '" & DateAdd("d",date(),-2) & "' OR clipDato = '" & DateAdd("d",date(),-1) & "') "

Skrevet tor. d. 06. maj 2010 kl. 09:19:35| #20

para7
para7 (7.741 point)
Hvilket giver enskrevet aql sætning:

SELECT * FROM clip WHERE clipAktivt = 1 AND (clipDato = '29-04-2010' OR clipDato = '30-04-2010' OR clipDato = '01-05-2010' OR clipDato = '02-05-2010' OR clipDato = '03-05-2010' OR clipDato = '04-05-2010' OR clipDato = '05-05-2010') AND clipTitel NOT LIKE '%Pause %' order by clipTaeller desc LIMIT 7

Skrevet tir. d. 11. maj 2010 kl. 12:59:32| #21

para7
para7 (7.741 point)
Ingen bedre forslag, så jeg lukker...
Min løsninghttp://www.eksperten.dk/spm/908919

Skrevet tir. d. 11. maj 2010 kl. 12:59:46| #22


Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

ASP: formular udtræk med mulighed for at rette

Oprettet den 21. maj 2012 kl. 15.09
quarkb giver 200 point for svar | Giv et svar »

Sorter biblioteker efter dato i ASP

Oprettet den 17. maj 2012 kl. 16.52
4ks giver 60 point for svar | Giv et svar »

Simpel login-funktion (web) - behov for flere logins/brugere

Oprettet den 15. maj 2012 kl. 09.54
madx giver 75 point for svar | Giv et svar »



   




Tips & Tricks fra PC World

Teaser billede

Læserne: Her er vores værste it-indkøb

Det er ikke al it-udstyr, som er det rene guld. Her er nogle af læsernes skrækhistorier.


Anmeldelser fra PC World

Teaser billede

Test: Mobil med Ferrari-design - og en Trabant-motor

Motorola har begået endnu en smartphone med lækkert design og potentiale til at være blandt de bedste. Men den når ikke i mål. Se her hvorfor.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Sådan siger du farvel til Facebook

Læs her, hvordan du dropper Facebook og i stedet anvender nogle brugervenlige alternativer, så du stadig kan være social på nettet.


Nyheder fra Computerworld

Teaser billede

Galleri: De fedeste håndholdte gennem 40 år

Her har du de mest banebrydende håndholdte computere gennem alle tider.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger