Naja, die Abweichungen belaufen sich auf Dialekt-Ergänzungen zu SQL92. Hält man sich an native SQL92 gibts eigentlich keine Probleme.
Oracle hat aber eine ganze Reihe von Zusätzen, die mit SQL92 nichts zu tun haben, die aber aus Performance-Gründen häufig verwendet werden.
Wie es da bei DB/2 für Win/Linux aussieht weiß ich nicht.

Aber gerade was die Verarbeitung von UNICODE angeht, sind andere da schon weiter, da ja sowohl die DB's als auch die Frontends meistens nur noch mit UNICODE arbeiten.
Bei der DB2/400 ist das eher nicht der Fall.

Ein anderer ODBC-Treiber hilft da meist auch nicht weiter, da ja der SQL-Befehl vom Programm zusammengesetzt wird.

MS-Access hilft da manchmal schon weiter.
Da MS-Access wieder eine andere Syntax hat als die DB2 übersetzt MS-Access den SQL. Es kann daher manchmal passieren, dass die Abfragen sehr lange benötigen, da eine Übersetzung in den SQL-Dialekt nicht klappte und nun die gewünschte Funktion auf dem PC "emuliert" wird.