paco: MySQL-abfrage mit ungleich liefert leeres ergebnis

hallo,
ich bin gerade etwas verwirrt. Ich liste Datensätze aus einer MySQL-Datenbank
auf und wollte jetzt einzelne davon ausblenden.
Dazu habe ich ein Feld "ausblenden" in die entsprechende Tabelle eingefügt, das bei bedarf auf true gesetzt wird, um dann beim auflisten die Einträge mit true wegzulassen.

Meine Abfrage:
SELECT projekte.id, projekt, prioritaet, ausblenden FROM projekte
LEFT JOIN baustein_projektstart
ON
projekte.id = baustein_projektstart.projekt_id

liefert mir das gewünschte Ergebnis.
Mit dem Zusatz

WHERE ausblenden = "true"

ebenfalls. Aber mit

WHERE ausblenden <> "true" bzw WHERE ausblenden != "true"

bekomme ich immer ein leeres Resultat zurück. Das ausblenden-Feld ist ein varchar, das true wird also als string da reingeschrieben. Darf man das nicht? Ist true irgendwie reserviert?
Oder ist die syntax mit <> bzw != falsch???
MySQL ist Version 5.0.67

Vielen Dank schonmal,
Paco

  1. Hallo,

    ich bin gerade etwas verwirrt.

    ich auch.

    Mit dem Zusatz
    WHERE ausblenden = "true"
    ebenfalls. Aber mit

    WHERE ausblenden <> "true" bzw WHERE ausblenden != "true"

    bekomme ich immer ein leeres Resultat zurück. Das ausblenden-Feld ist ein varchar, das true wird also als string da reingeschrieben.

    Bitte mit Beispieldatensätzen und erhaltener sowie erwarteter Ergebnisliste zum Nachvollziehen. Das was Deiner Beschreibung entspricht, läßt sich nicht nachvollziehen.

    Freundliche Grüße

    Vinzenz

    1. Hallo,

      ich bin gerade etwas verwirrt.

      ich auch.

      Mit dem Zusatz
      WHERE ausblenden = "true"
      ebenfalls. Aber mit

      WHERE ausblenden <> "true" bzw WHERE ausblenden != "true"

      bekomme ich immer ein leeres Resultat zurück. Das ausblenden-Feld ist ein varchar, das true wird also als string da reingeschrieben.

      Bitte mit Beispieldatensätzen und erhaltener sowie erwarteter Ergebnisliste zum Nachvollziehen. Das was Deiner Beschreibung entspricht, läßt sich nicht nachvollziehen.

      Freundliche Grüße

      Vinzenz

      ok. Mein Problem läßt sich auch mit einfachster Abfrage reproduzieren
      tabelle projekte:

      +--+--------+---------+--------+--------+--------+------------+
       id  projekt  daten1    daten2   daten3   daten4   ausblenden
      +--+--------+---------+--------+--------+--------+------------+
        1   pr1      bla       blu      blo      bli      NULL
      +--+--------+---------+--------+--------+--------+------------+
        2   pr2      haha      huhu      hihi    hoho     true
      +--+--------+---------+--------+--------+--------+------------+
        3   pr3      eins      zwei      drei     vier    NULL

      SELECT projekt, daten1, ausblenden FROM projekte
      WHERE ausblenden <> "true" liefert ein leeres Resultat.

      1. Hallo,

        +--+--------+---------+--------+--------+--------+------------+
        id  projekt  daten1    daten2   daten3   daten4   ausblenden
        +--+--------+---------+--------+--------+--------+------------+
          1   pr1      bla       blu      blo      bli      NULL
        +--+--------+---------+--------+--------+--------+------------+
          2   pr2      haha      huhu      hihi    hoho     true
        +--+--------+---------+--------+--------+--------+------------+
          3   pr3      eins      zwei      drei     vier    NULL

        siehe https://forum.selfhtml.org/?t=191233&m=1275044:
        NULL-Werte und Leerstrings sind verschiedene Inhalte. Du willst auf NULL testen.

        Freundliche Grüße

        Vinzenz

        1. Hallo,

          +--+--------+---------+--------+--------+--------+------------+
          id  projekt  daten1    daten2   daten3   daten4   ausblenden
          +--+--------+---------+--------+--------+--------+------------+
            1   pr1      bla       blu      blo      bli      NULL
          +--+--------+---------+--------+--------+--------+------------+
            2   pr2      haha      huhu      hihi    hoho     true
          +--+--------+---------+--------+--------+--------+------------+
            3   pr3      eins      zwei      drei     vier    NULL

          siehe https://forum.selfhtml.org/?t=191233&m=1275044:
          NULL-Werte und Leerstrings sind verschiedene Inhalte. Du willst auf NULL testen.

          Freundliche Grüße

          Vinzenz

          hab mir schon gedacht, dass es damit zu tun hat, dachte nur, dass unter nicht-true halt alles andere fallen müßte, also sowohl leer-strings als auch NULL. Naja, habs hingekriegt, muß jetzt nur zum wieder einblenden auch wieder NULL reinschreiben.
          Vielen Dank!
          Paco

          1. Hallo,

            hab mir schon gedacht, dass es damit zu tun hat, dachte nur, dass unter nicht-true halt alles andere fallen müßte, also sowohl leer-strings als auch NULL. Naja, habs hingekriegt, muß jetzt nur zum wieder einblenden auch wieder NULL reinschreiben.

            so etwas kann man auch mit '0' (Standardwert) und '1' machen.
            Nur mal so zur Ergänzung.

            Gruß Gunther

  2. Hallo Ingrid,

    WHERE ausblenden <> "true" bzw WHERE ausblenden != "true"
    bekomme ich immer ein leeres Resultat zurück.

    dafür gibt es eine Erklärung.

    Oder ist die syntax mit <> bzw != falsch???

    Nein nicht falsch, aber Deinem Fall nicht angemessen :-)
    Wenn nichts eingegeben ist, dann hat der Inhalt Deiner Spalte "ausblenden" den speziellen Wert NULL. Auf diesen ist mit IS NULL zu prüfen.

    Freundliche Grüße

    Vinzenz