-
Das Problem hier ist, dass das Ergebnisfeld nur genau eine CCSID aufweisen darf.
Da du jedoch verschiedene CCSID's erstellst, muss SQL nun in irgendeine CCSID umwandeln.
Dies ist nunmal die 1. des Case.
Wandle den Case noch mal in eine gemeinsame CCSID um.
In diesem Fall halt UNICODE:
cast(
case-ausdruck
as graphic(60) ccsid 13488)
-
Die Idee hatte ich auch schon. Allerdings hatte ich das mit CCSID 1208 probiert, weil ich hauptsächlich mit UTF-8 arbeite. Dabei habe ich aber bei allen Feldinhalten, wo Sonderzeichen vorkamen, einen "null"-Wert als Ergebnis erhalten. Deshalb hatte ich das mit 13488 erst gar nicht versucht. Jetzt hab ich's doch mal getestet. Und es hat funktioniert. Bei folgendem "triple-cast" erhalte ich das gewünschte Ergebnis:
Code:
"SELECT ttartn, ttsprs, " +
"CASE " +
"WHEN ttsprs IN('C', 'P') THEN " +
"CAST(CAST(CAST(tttext AS CHARACTER (60) CCSID 65535) AS CHARACTER (60) CCSID 1153) AS GRAPHIC (60) CCSID 13488) " +
"WHEN ttsprs = 'G' THEN " +
"CAST(CAST(CAST(tttext AS CHARACTER (60) CCSID 65535) AS CHARACTER (60) CCSID 875) AS GRAPHIC (60) CCSID 13488) " +
"WHEN ttsprs = 'R' THEN " +
"CAST(CAST(CAST(tttext AS CHARACTER (60) CCSID 65535) AS CHARACTER (60) CCSID 1154) AS GRAPHIC (60) CCSID 13488) " +
"ELSE " +
"CAST(CAST(CAST(tttext AS CHARACTER (60) CCSID 65535) AS CHARACTER (60) CCSID 1141) AS GRAPHIC (60) CCSID 13488) " +
"END " ...
Warum geht das mit CCSID 1208 nicht ? Das wäre doch auch eine einheitliche CCSID.
Gruß,
KM
-
UTF-8 ist ein variabler Zeichensatz (1-4 Byte).
Dadurch wird es schwierig die max. Länge des Ergebnisfeldes festzulegen.
Ich kann zwar ein kurzes 273-Feld in ein langes 1208-Feld kopieren, aber umgekehrt gibts da Schwierigkeiten, da die Ergebnislänge stark vom Inhalt abhängt.
Der "sichere" Umweg ist da immer eine feste Zeichenbreite, eben UNICODE/UCS-2/13488.
PS:
von SBCS nach UTF-8 sollte das Zielfeld 4-Mal so lang sein.
Similar Threads
-
By Stefan_Sk in forum NEWSboard Programmierung
Antworten: 8
Letzter Beitrag: 26-05-06, 17:37
-
By Lucky4712 in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 24-05-06, 16:57
-
By cbe in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 08-06-05, 17:21
-
By itec01 in forum IBM i Hauptforum
Antworten: 9
Letzter Beitrag: 16-09-04, 19:38
-
By rebe in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 07-09-01, 14:55
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks