sql datentyp ändern da zeichenfolgenverkettung zu lang
christian decker
- datenbank
hallo newsgroup,
bei einer sql abfrage (oracle 7.3.4) bekomme ich folgende fehlermeldung:
ORA-01489: Das Ergebnis der Zeichenfolgenverkettung ist zu lang
ich moechte mehrere spalten (acht an der zahl) vom datentyp varchar2(512) verketten.
select
feld_1||feld_2||feld_3||feld_4||feld_5||feld_6||feld_7||feld_8 "Verkettung"
from tabelle
wie kann ich die zeichenfolgenverkettung in der selectabfrage schreiben daß ich die fehlermeldung nicht bekomme. gibt es eine konvertierung?
gruss christian
Hallo Christian,
Ursache dürfte sein, dass er das Ergebnis als VARCHAR2 zurückliefern
will und die max. gestattete Länge 2000 (m.E. bis 7.3.x) oder 4000 Byte (ab 8.1.x) ist.
Daher kannst nur die Columns einzeln oder soweit verkettet, dass die max. Länge nicht überschritten wird, und ausserhalb SQL miteinander verketten.
Gruß Ralf
Hallo Christian,
Ursache dürfte sein, dass er das Ergebnis als VARCHAR2 zurückliefern
will und die max. gestattete Länge 2000 (m.E. bis 7.3.x) oder 4000 Byte (ab 8.1.x) ist.
Daher kannst nur die Columns einzeln oder soweit verkettet, dass die max. Länge nicht überschritten wird, und ausserhalb SQL miteinander verketten.Gruß Ralf
hallo ralf,
erstmal vielen dank für deine antwort. du hast bestimmt recht.
zwei verkettungen funktionieren noch. bei der dritten bringt
er die fehlermeldung. er steigt so bei 1000 zeichen aus.
ich will eigentlich aus der verkettung nur einen string extrahieren
(mit substr). da der text fortlaufend geschrieben ist und durchaus
über das ende einer zelle geht muß ich erst die verkettung machen
und dann den string suchen. die lange zeichenfolge will ich mir gar
nicht ansehen. habe ich da keine chance, denn auch bei substring gibt
er die fehlermeldung aus.
gruss christian