Souljumper
21-05-07, 08:14
Hallo,
ich hab hier einen J@va Anwendung die via JDBC Treiber SQL Abfragen auf der AS400 ausführt.
Allerdings verhält sich AS400-SQL und JAVA-SQL etwas unterschiedlich.
Hier mal eine Abfrage, die direkt auf der As400 ausgeführt funktioniert, über die J@va Anwendung abgesetzt aber keine Ergebnisse liefert.
Hier mal das besagte SQL (in verkürzter Form)
SELECT a.Feld1, b.feld2 as bfeld2
FROM LIB/FILE as A INNER JOIN LIB/FILE2 as B ON
a.feld1 = b.feld1
WHERE b.feld2 =‘XXX‘ and a.feld3 BETWEEN ‘20060516‘ AND ‘20070520‘ AND TRIM(UPPER(a.feld4)) = ‘0006456 ‘
ORDER BY
a.feld1 DESC FETCH FIRST 1000 ROWS ONLY
Führt man diese Abfrage mit TRIM(UPPER(a.feld4)) LIKE ‘0006456%‘ aus funktioniert sie, nur mit dem = eben nicht.
Jemand eine Idee woran das liegen mag?
Danke für Hinweise.
ich hab hier einen J@va Anwendung die via JDBC Treiber SQL Abfragen auf der AS400 ausführt.
Allerdings verhält sich AS400-SQL und JAVA-SQL etwas unterschiedlich.
Hier mal eine Abfrage, die direkt auf der As400 ausgeführt funktioniert, über die J@va Anwendung abgesetzt aber keine Ergebnisse liefert.
Hier mal das besagte SQL (in verkürzter Form)
SELECT a.Feld1, b.feld2 as bfeld2
FROM LIB/FILE as A INNER JOIN LIB/FILE2 as B ON
a.feld1 = b.feld1
WHERE b.feld2 =‘XXX‘ and a.feld3 BETWEEN ‘20060516‘ AND ‘20070520‘ AND TRIM(UPPER(a.feld4)) = ‘0006456 ‘
ORDER BY
a.feld1 DESC FETCH FIRST 1000 ROWS ONLY
Führt man diese Abfrage mit TRIM(UPPER(a.feld4)) LIKE ‘0006456%‘ aus funktioniert sie, nur mit dem = eben nicht.
Jemand eine Idee woran das liegen mag?
Danke für Hinweise.