Michael Schröpl: Perl + Sql

Beitrag lesen

ich lese mit perl eine SQL-Datenbank aus, allerdings möchte ich nur Felder auswerten, die nicht leer sind; Felder, die leer sind, haben ja den laut SQL Wert NULL, oder ?

Muß die Abfrage auf "leere" Felder anders erfolgen oder wo liegt der Fehler ?

Wenn Du wirklich SQL zur Verfügung hast (und nicht einen abgemagerten Schmuddel-Dialekt), dann blende die NULL-Spalten doch gleich beim Lesen aus:

SELECT ... FROM ... WHERE ... AND name IS NOT NULL;

usw.
Die Datenbank weiß, wie sie eine Abfrage auf "NULL" machen soll.

Und falls Du ggf. sogar verhindern willst, daß es NULL-Werte überhaupt geben darf (damit später Deine Anwendungen diese ganze Abfragerei gar nicht machen müssen), dann definiere entsprechende Constraints für die Spalten der Tabelle (d. h. "NOT NULL" hinter den Datentyp der Spalte).

Datenintegrität läßt sich in der Datenbank viel eleganter lösen als durch Nachverarbeitung mit Perl etc.