1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

NULL - der ganz normale Wahnsinn

Dieses Thema im Forum "Microsoft SQL Server" wurde erstellt von ukulele, 29 September 2011.

  1. ukulele

    ukulele Datenbank-Guru

    Manchmal ist es ja zum verzweifeln. Ich habe grade einen Fehler gefunden anchdem ich lange gesucht und gegrübelt habe der mich daran erinnert, das ich manche Dinge nicht verstehe.

    Vieleicht kann mir jemand sagen warum SQL machmal so "unlogisch" handelt. Beispiel:

    Code:
    SELECT    *
    FROM    tabelle
    WHERE    primaerschluessel NOT IN (    SELECT    'NULL' )
    ...wird immer NULL ergeben, nur weil die Unterabfrage irgendwo mal NULL ausgibt. Ist das in jedem SQL so?
     
  2. Charly

    Charly Datenbank-Guru

    Hallo ukulele,

    das sollte in jedem SQL so sein da man NULL nicht mit einem Wert vergleichen kann. NULL ist kein Wert.

    Die Erklärung hier trifft es ziemlich genau.

    Gruß Charly
     
  3. ukulele

    ukulele Datenbank-Guru

    Aber ist das nicht in der Praxis eher hinderlich?

    Ich bin auch immer wieder genervt darüber, das ein BIT nicht nur 0 und 1 sondern auch NULL sein kann. Ergo muss ja auch die Datenbank für einen BIT Eintrag mehr als ein Bit verwenden. Ich finde das zumindest verwirrend :)
     
  4. Walter

    Walter Administrator Mitarbeiter

    Ist aber in der Praxis oft auch nützlich. NULL ist eben die Abwesenheit von Information and man kann ja auch explizit darauf abfragen.
     
  5. ukulele

    ukulele Datenbank-Guru

    Das stimmt, nervt aber eben auch oft genug wenn man BIT = 0 prüft.
     

Diese Seite empfehlen