Der Unterschied zwischen nichts und nichts

Oracle bietet die schöne Funktion trim(), die Leerzeichen wegschneidet. Aber zum Teufel! irgendwie hat meine Abfrageklausel trim(table.field) <> '' NIE ein Ergebnis gebracht. Egal, ob field (ein char(10)-Feld) leer war oder nicht.
Die Lösung: trim() verwandelt leere Strings (z.B. ' ') in null und nicht wie beispielsweise in Java in den Leerstring "". Auch '' sieht Oracle als null. Und so ist null nie verschieden von null.

Mir war vorher noch nie aufgefallen, wie schwer es sein kann, DB-Admins von der Sinnhaftigkeit der Unterscheidung zwischen null und Leerstring zu überzeugen. Naja, Datenbanken sind halt selten objektorientiert.