PDA

View Full Version : SQL Datenkonvertierung



Xanas
17-12-13, 13:01
Hallo,

ich habe ein VARCHAR Feld in einer Tabelle mit der CCSID 65535, in diesem Feld sind
Daten im UCS2 Format hinterlegt.

Wenn ich die Feld konvertiere SELECT CAST( feld AS VARCHAR(70) CCSID 1141), bekomme ich nichts lesbares angezeigt. Wenn ich mir die Daten HEX anschaue, kann ich das sehen was raus kommen sollte, das Problem liegt wahrscheinlich daran, dass ich dem Herrn SQL erstmal erzählen muss das die Daten in dem Feld UCS2 sind, das hatte ich auch schon probiert
SELECT CAST(CAST( feld AS VARCHAR(70) CCSID 13488) VARCHAR(70) CCSID 1141)
oder
SELECT CAST(CAST( feld AS VARCHAR(70) CCSID 1200) VARCHAR(70) CCSID 1141)
da bekomme ich aber immer nur die Fehlermeldung
ID für den codierten Zeichensatz 1200 ungültig.


Funktioniert das überhaupt was ich vor hab?

Fuerchau
17-12-13, 13:23
CCSID 13488 ist VARGRAPHIC!
Ob allerdings diese Konvertierung erlaubt ist weiß ich nicht.
Wieso ist das Feld denn falsch definiert?

Xanas
17-12-13, 14:00
Tja die Tabelle kommt aus SAP ich würde gerne in einer VIEW darauf zugreifen...

Fuerchau
17-12-13, 15:31
Leider wird eine Konvertierung nicht von Binary in UCS2 nicht unterstützt.
Hier musst du dir eine externe SQL-Funktion stricken, die Binärdaten in UCS2 wandelt.
In ILERPG ganz einfach, da du das Feld per Overlay als Typ "C" unterdefinieren kannst um es dann zurückzugeben.
Native SQL unterstützt dies nicht.

Xanas
18-12-13, 06:28
Danke, dass hatte ich befürchtet

Xanas
18-12-13, 09:42
Nur für den Fall, dass es mal jemand braucht


D cvtdata DS
D ucs2sapdata 32766A varying
D ucs2data 16383C varying overlay(ucs2sapdata)



Gibt es eigentlich keinen CODE-TAG mehr hier im "neuen" Forum?

malzusrex
18-12-13, 10:17
Gibt es!

Auf Antworten klicken
und dann auf Erweitert



Oder eben die Tag's händisch eingeben

Gruß
Ronald

Xanas
18-12-13, 10:24
Ahhhhh vielen herzlichen Dank Ronald.