Avatar billede lordnelson Seniormester
17. januar 2010 - 10:09 Der er 8 kommentarer og
1 løsning

Se om datofelt er tomt i mysql

Skulle jo egentlig være simpelt men er det åbenbart ikke
Skal bruge alle psoter i tabellen hvor dato feltet er tomt.
altså i en Mysql Tabel
Avatar billede Slettet bruger
17. januar 2010 - 11:42 #1
sql = "SELECT * FROM tabel WHERE dato=''"


  // Steeven
Avatar billede lordnelson Seniormester
17. januar 2010 - 12:31 #2
Ja det mente jeg også men bruger jeg:

SELECT Count(medlemmer.Navn)  AS Antal from medlemmer  where betaldato = ''

Så for jeg resulatet 0

Og det er ikke korrekt
Avatar billede lordnelson Seniormester
17. januar 2010 - 12:33 #3
Men tilgengæld giver

SELECT Count(medlemmer.Navn)  AS Antal from medlemmer  where betaldato <> ''


Det rigtige svar, så det må være noget med Null værdien eller ?
Avatar billede Slettet bruger
17. januar 2010 - 13:02 #4
Altså, skal du bruge selve posterne fra tabellen medlemmer, hvor betaldato-feltet er tomt? Eller skal du bare bruge antallet.

Det, der sker med denne kodelinje:
SELECT Count(medlemmer.Navn) AS antal FROM medlemmer  WHERE betaldato = '' 


er, at du tæller, hvor mange felter, der har et tomt betaldato-felt. Du får altså antallet poster uden dato.

Denne linje:
SELECT Count(medlemmer.Navn) AS antal FROM medlemmer  WHERE betaldato <> '' 


tæller, hvor mange poster, der ikke har et tomt betaldato-felt. Du får altså det modsatte af det forrige, nemlig antallet af poster med dato.

Det hele kommer jo an på, hvad det i virkeligheden er, du skal bruge. Med dine sql-sætninger får du antallet - med den, jeg viste, får du indholdet.

  // Steeven
Avatar billede lordnelson Seniormester
17. januar 2010 - 13:09 #5
Jeg prøver lige igen


SELECT Count(medlemmer.Navn) AS antal FROM medlemmer  WHERE betaldato = ''


Giver mig svaret 0 -- dette er ikke korrekt

SELECT Count(medlemmer.Navn) AS antal FROM medlemmer  WHERE betaldato <> ''

Giver mig det rigtige svar f.eks. 17 - dvs. 17 der har betalt

Hvis så der er 39 poster ialt, må der vel være 22 medlemmer der ikke har betalt ?
Avatar billede Slettet bruger
17. januar 2010 - 13:24 #6
Ja, det lyder vist meget rigtigt matematisk set.

Måske er der et problem med SQL og null-værdi. Men du har jo selv fundet en alternativ simpel løsning.

  // Steeven
Avatar billede lordnelson Seniormester
17. januar 2010 - 13:32 #7
Nej den holder ikke for jeg skal have skrevet alle poster ud som det her:

RS.open " SELECT *  from medlemmer  where betaldato  = ' '" , conn
Do while not rs.eof
Response.write rs("navn")
rs.movenext
loop

Og her kommer der ingen poster !!!!!!!!!!
Avatar billede lordnelson Seniormester
17. januar 2010 - 13:34 #8
Yes yes jeg har løst det
SELECT *  from medlemmer  where betaldato is null


HEj igen
Avatar billede Slettet bruger
17. januar 2010 - 13:56 #9
Det lyder godt.
Held og lykke med det.

  // Steeven
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