DB2 z/os und sort mit Umlauten
- Dieses Thema hat 1 Antwort und 1 Teilnehmer, und wurde zuletzt aktualisiert vor 19 Jahre, 2 Monaten von
Anonym.
-
AuthorPosts
-
7. Juli 2004 um 9:27 Uhr #2417
AnonymGastMoin,
ich bin hier neu und habe aktuell (vielleicht auch nur ein Verständnis-) ein Problem mit dem SQL Sort und deutschen Umlauten. Wie bringe ich DB2 dazu, mir z.B. die namen in einer Tabelle in der richtigen Reihenfolge anzuzeigen (i.e. AAAAA,Aeeeee,Ävvvvvvv,…..).
Wir nutzen bei uns die CCSID 273.
Scheint so als würde DB2 nur nach dem HEX Code sortieren.
Wäre echt sehr nett, wenn mir hier jemand einen Tipp geben könnte.
Danke und Gruß Volker
13. Juli 2004 um 7:34 Uhr #2897
AnonymGastHallo Volker,
sicher sortiert DB2 hier nach EBCDIC und da liegen die Ös und Üs irgendwo im Wald.
Du kannst aber mit folgendem Trick die Sortierung beeinflussen:SELECT
col1,
TRANSLATE (col1,
‚ÄÜABCDEFGHIJKLMNOPQRÖSTZVWXYZ0123456789‘,
‚0123456789AÄBCDEFGHIJKLMNOÖPQRSTUÜVWXYZ‘) AS col1_SORT
FROM
table
WHERE
…
ORDER BY
col1_SORT;In dem Translate wird zuerst die EBCDIC-Reihenfolge angegeben, dann die Soll-Reihenfolge. Hier werden z. B. die Zahlen vor die Buchstaben sortiert und die Umlaute werden in die anderen Buchstaben reinsortiert.
Du darst allerdings keine Prädikate auf die col1_SORT applizieren; zum einen ist es ja der übersetzte String, d. h. das Ergebins ist eh falsch, zum anderen ist sie wg. dem Translate nicht mehr indizierbar.
Hoffentlich hilfts
Rolf -
AuthorPosts
You must be logged in to reply to this topic.