Avatar billede bootlab Nybegynder
26. januar 2004 - 14:23 Der er 10 kommentarer og
1 løsning

Dato mindre end slutdato

Hej :)

Jeg sidder og roder i et sql udtræk!

Jeg har i en mysql db et felt som hedder slutdato (varchar(10))
Data er formateret såen: DD-MM-ÅÅÅÅ og jeg køre med
Session.LCID = 1030 , så det burde ikke være der problemmet er..

Jeg sidder nu og prøver at hente med flg. sql kode som alligevel
viser alle poster uanset slutdato !!!

sql = "SELECT * FROM noter WHERE slutdato > " & Date() & " ORDER BY id DESC;"

jeg har også prøvet med:
sql = "SELECT * FROM noter WHERE slutdato > " & CStr(Date()) & " ORDER BY id DESC;"

Der sker det samme!!!

Nogle der kna hjælpe?
Avatar billede eagleeye Praktikant
26. januar 2004 - 14:54 #1
Prøv sådan her, med den interne date funtion i databasen:

sql = "SELECT * FROM noter WHERE slutdato > Date() ORDER BY id DESC;"
Avatar billede eagleeye Praktikant
26. januar 2004 - 14:55 #2
ok den hedder CURDATE:

sql = "SELECT * FROM noter WHERE slutdato > curdate() ORDER BY id DESC;"
Avatar billede eagleeye Praktikant
26. januar 2004 - 14:55 #3
Men ellers skal der ' omkring datoen via SQL hvis man skriver en data via ASP siden:

sql = "SELECT * FROM noter WHERE slutdato > '" & Date() & "' ORDER BY id DESC;"
Avatar billede bootlab Nybegynder
26. januar 2004 - 16:10 #4
hmmm ... det hjalp lidt med '

men når jeg bruger denne her:
sql = "SELECT * FROM noter WHERE slutdato > '" & Date() & "' ORDER BY id DESC;"

så ser den kun på dagen!!  Dvs. at den finder en med slutdato 30-03-2004 men ikke
25-03-2004

Say whut
Avatar billede bootlab Nybegynder
26. januar 2004 - 16:12 #5
Ups .. Glemte at sige at den jo virker med:
sql = "SELECT * FROM noter WHERE slutdato > curdate() ORDER BY id DESC;"

Endnu engang hjælper du mig eagle :)

læg et svar mester
Avatar billede bootlab Nybegynder
26. januar 2004 - 16:15 #6
nææ ..der var jeg lidt for hurtig :/ *suk*

med : sql = "SELECT * FROM noter WHERE slutdato > curdate() ORDER BY id DESC;"

gør den det samme ......altså så ser den kun på dagen!! finder 30-03-2004 men ikke
25-03-2004
Avatar billede bootlab Nybegynder
26. januar 2004 - 16:44 #7
Det må vel være fordi curdate() som standard er sat til yyyy-mm-dd
men hvorad ændres den?
Avatar billede eagleeye Praktikant
26. januar 2004 - 17:34 #8
Er din kolonne i dd-mm-yyyy Date format?
Avatar billede bootlab Nybegynder
26. januar 2004 - 17:40 #9
nej mit felt er sat som varchar(10)
Avatar billede eagleeye Praktikant
26. januar 2004 - 17:51 #10
Så det jo klart det ikke virker, man kan ikke sammeligne DATE og Vharchar og forvendte det går godt :)
Så skal man formater dd-mm-åååå om til noget mySQL forstår som en dato yyyy-mm-dd

sql = "SELECT * FROM noter WHERE DATE_FORMAT(SUBSTRING(slutdato,7,4)+'-'+SUBSTRING(slutdato,4,2)+'-'+SUBSTRING(slutdato,1,2),'%Y-%m-%d') > curdate() ORDER BY id DESC;"
Avatar billede bootlab Nybegynder
26. januar 2004 - 19:32 #11
Jeg kan godt se hvad du mener, men det virker ikke med den sidste
du har lagt .. ewew

Nå! du har vist svaret nok på dette spm.
Jeg må nok overveje at lave en hel del om på mine tabeller så de
køre med amr. standard hmm...
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