Folgendes Phänomen:

Ich möchte eine Spalte (char, NULLABLE) einer SQL-Tabelle per SQL auf NULL setzen.

Egal ob embedded im RPG-Programm oder interaktiv, der Effekt ist der Gleiche:

Ein direktes updaten (update tabelle set spalte = NULL where ...) funktioniert.

Bau ich in das SQL-Statement einen CASE ein, funktioniert es nicht mehr:

Code:
update tabelle set spalte = (case when :hostvar > ' ' then :hostvar else NULL end) where ...
oder

Code:
update tabelle set spalte = NULLIF(:hostvar, ' ') where ...
In beiden Beispielen werden Leerzeichen statt NULL in die Spalte geschrieben.

Hat jemand eine Erklärung parat?