Maja: abfrage nach Feld nicht leer

Hallo,
ich soll für eine bestehende Mysql Datenbank 4.0.27 Abfragen via php script zur Ausgabe auf einer Website schreiben.
U.a. eine Abfrage zeige mir alle Felder der Spalte y in der Tabelle x die nicht leer sind.
Nun ist das Problem, daß dieses Feld nicht mit default NULL eingerichtet wurde, also eine Abfrage

select y from tabelle_x where y IS NOT NULL

trotzdem alle Felder ausgibt - klar.

select y from tabelle_x where y!=''

geht anscheinend auch nicht...

wie muß man sowas schreiben, daß mir alle die Datensätze angezeigt werden, wo tatsächlich Inhalt eingeben wurde?

Ich habe auch Zugriff auf die Datenbankstruktur und könnte z.B. das Feld y auf Default NULL setzen - bringt mir das allerdings etwas bei den schon bestehenden Datensätzen? Wohl eher nicht oder gibt es da eine elegante Lösung alle Datensätze zu überprüfen und dann in den entsprechenden Sätze das Feld y auf NULL zu setzen? (irgendwie habe ich den Eindruck ich bewege mich im Kreis...)

schon mal Danke für Eure Hilfe,
Maja

  1. Hi,

    Nun ist das Problem, daß dieses Feld nicht mit default NULL eingerichtet wurde,

    sondern?

    wie muß man sowas schreiben, daß mir alle die Datensätze angezeigt werden, wo tatsächlich Inhalt eingeben wurde?

    Was ist denn "tatsächlich Inhalt", bzw. was ist dessen Gegenteil?

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hi,

      Nun ist das Problem, daß dieses Feld nicht mit default NULL eingerichtet wurde,

      sondern?

      Hi Cheatah
      es ist gar kein Default Wert angegeben.

      wie muß man sowas schreiben, daß mir alle die Datensätze angezeigt werden, wo tatsächlich Inhalt eingeben wurde?

      Was ist denn "tatsächlich Inhalt", bzw. was ist dessen Gegenteil?

      Naja, es ist doch ein unterschied ob ich in ein Feld "nichts" reinschreibe oder ob ich NULL übergebe...

      Grüße,
      Maja

      1. Hello,

        Was ist denn "tatsächlich Inhalt", bzw. was ist dessen Gegenteil?
        Naja, es ist doch ein unterschied ob ich in ein Feld "nichts" reinschreibe oder ob ich NULL übergebe...

        jein - also entweder NULL oder Inhalt, eines von beiden ist da. Wenn du in ein Feld mit Default-Wert NULL oder nicht reinschreibst, dann kommt in beiden Fällen der Default-Wert raus. Bei Char-Feldern wäre '' ein möglicher Default, das Gegenteil demnach "spalte <> ''" - oder es steht doch NULL drin.

        MfG
        Rouven

        --
        -------------------
        There's no such thing as a free lunch  --  Milton Friedman
        1. Bei Char-Feldern wäre '' ein möglicher Default, das Gegenteil demnach "spalte <> ''" - oder es steht doch NULL drin.

          MfG
          Rouven

          Hi Rouven,
          es handelt sich um ein Varchar Feld
          wenn ich Dich richtig verstehe, müßte ich also die ABfrage wie folgt schreiben:
          select y from tabelle_x where y<>''
          ?

          Grüße,
          Maja

          1. wenn ich Dich richtig verstehe, müßte ich also die ABfrage wie folgt schreiben:
            select y from tabelle_x where y<>''

            Hängt von der Kodierung ab, entweder `` oder NULL oder was anderes...

    2. Was ist denn "tatsächlich Inhalt", bzw. was ist dessen Gegenteil?

      Vermutlich "" und nicht "".

      Ich krieg die Unterstriche nicht hin mit dieser "Tastatur". Bitter.

  2. Hi

    select y from tabelle_x where y!=''

    Das sollte eigentlich funktionieren... habs mal gestestet... Bei mir läufts auch ohne Defaultwert

    Gruß Bobby