abfrage nach Feld nicht leer
Maja
- datenbank
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
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
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
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
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
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...
Was ist denn "tatsächlich Inhalt", bzw. was ist dessen Gegenteil?
Vermutlich "" und nicht "".
Ich krieg die Unterstriche nicht hin mit dieser "Tastatur". Bitter.
Hi
select y from tabelle_x where y!=''
Das sollte eigentlich funktionieren... habs mal gestestet... Bei mir läufts auch ohne Defaultwert
Gruß Bobby