Wer hat die IBM-Entwickler eigentlich auf den Trichter gebracht, Funtionen des Selects vor der Where-Klausel zu berechnen?
Beispiel:

select
date(digits(ltlpdn) concat '000000') ltdndate
from lpmt a
where ltlpdn > 20140000

Der SQL stirbt mit ungültigem Datum, wenn das Feld LPLPDN = 0 ist, obwohl ich das ja per Where-Klausel ausgeschlossen habe.

Insgesamt ist der SQL etwas komplexer und SQL kann sich für keinen Index entscheiden (trotz aller Vorschläge des Optimizers) und führt einen Table-Scan durch.

Ich habe die Whereklausel schon erweitert, aber das macht keinen Unterschied, die Datumskonvertierung erfolgt vor der Where-Prüfung.

Soviel zum Thema: denn sie wissen, was sie tun...