Hallo, folgendes Problem:<BR>
<BR>
folgende Oracle-Function soll einen Varchar2(12) zurückliefern.<BR>
Nach return varchar2 kann man leider nicht in Klammern die Länge angeben, da gibt es einen Fehler :-(.<BR>
CREATE OR REPLACE FUNCTION GET_TYP_TEXT(p_typ in number)<BR>
return varchar2<BR>
as<BR>
result varchar2(12);<BR>
begin<BR>
result := '';<BR>
if (p_typ = 1) then result := 'Typ ist EINS'; <BR>
elsif (p_typ = 2) then result := 'Typ ist ZWEI'; <BR>
elsif (p_typ = 3) then result := 'Typ ist DREI'; <BR>
end if;<BR>
return result;<BR>
end;<BR>
Sie wird in einem Select aufgerufen, z.B.<BR>
<BR>
Select typ, GET_TYP_TEXT(typ) as TText from MyTable;<BR>
<BR>
In diesem Select hat TText aber leider die Länge 4000 und nicht 12.<BR>
Wie kann ich die Ausgabe-Länge auf 12 begrenzen ?<BR>
<BR>
Danke im Voraus<BR>
Steffen<BR>
<BR>
folgende Oracle-Function soll einen Varchar2(12) zurückliefern.<BR>
Nach return varchar2 kann man leider nicht in Klammern die Länge angeben, da gibt es einen Fehler :-(.<BR>
CREATE OR REPLACE FUNCTION GET_TYP_TEXT(p_typ in number)<BR>
return varchar2<BR>
as<BR>
result varchar2(12);<BR>
begin<BR>
result := '';<BR>
if (p_typ = 1) then result := 'Typ ist EINS'; <BR>
elsif (p_typ = 2) then result := 'Typ ist ZWEI'; <BR>
elsif (p_typ = 3) then result := 'Typ ist DREI'; <BR>
end if;<BR>
return result;<BR>
end;<BR>
Sie wird in einem Select aufgerufen, z.B.<BR>
<BR>
Select typ, GET_TYP_TEXT(typ) as TText from MyTable;<BR>
<BR>
In diesem Select hat TText aber leider die Länge 4000 und nicht 12.<BR>
Wie kann ich die Ausgabe-Länge auf 12 begrenzen ?<BR>
<BR>
Danke im Voraus<BR>
Steffen<BR>
Comment