Toon posts:

[MySQL]

Pagina: 1
Acties:
  • 32 views sinds 30-01-2008

Verwijderd

Topicstarter
Waarom maakt MySQL geen onderscheid tussen 0 en NULL?

Ik voer deze query uit:
code:
1
2
SELECT * FROM tabel
WHERE iets = 'null'

het veld 'iets' mag een NULL waarde hebben.

Daarbij verwacht ik alle records terug te krijgen die een NULL waarde bevatten.
De resultaten die ik krijg zijn echter alle velden met een 0.

Het lijkt er dus op dat MySQL het verschil niet ziet tussen 0 en NULL.
Klopt dit of doe ik iets fout ?

  • Patser
  • Registratie: Maart 2000
  • Laatst online: 11-09 21:40

Patser

this.Close();

Doe dan:
code:
1
2
SELECT * FROM tabel
WHERE iets = ''

Dus niets tussen de ' en de '.

  • Cheater
  • Registratie: Januari 2001
  • Laatst online: 00:51
Ik geloof dat null geen string is.
Het is dus geen tekenreeks maar een soort opvulling van niets.

  • Noork
  • Registratie: Juni 2001
  • Niet online
ja gewoon de '' weglaten

  • bigtree
  • Registratie: Oktober 2000
  • Laatst online: 07-07 11:51
SELECT * FROM tabel
WHERE isnull(iets)

Lekker woordenboek, als je niet eens weet dat vandalen met een 'n' is.


  • Grum
  • Registratie: Juni 2001
  • Niet online
NULL is niet 'null' en is ook niet '' of 0 maar gewoon NULL
code:
1
2
SELECT * FROM tabel
WHERE iets = NULL

dus :)

Verwijderd

Topicstarter
Op donderdag 28 februari 2002 17:06 schreef bigtree het volgende:
SELECT * FROM tabel
WHERE isnull(iets)
Ik krijg nu de juiste velden terug, maar ook 4 velden met een null waarde, terwijl ik daar niet om vraag.

  • elnino
  • Registratie: Augustus 2001
  • Laatst online: 03-09 05:13
Als je WHERE veld = 'null' doet, gaat hij kijken naar velden waar het veld de string "null" bevat en dus NIET leeg zijn. Je kunt dus beter, zoals Grum_ zegt WHERE veld = NULL gebruiken.

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

en je kiest de volgende keer een betere titel ;)
verder zie de hulp van Grum_

Doet iets met Cloud (MS/IBM)

Pagina: 1

Dit topic is gesloten.