Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> function / varchar width... varchar2(4000)?
I have a function:
function APN_NUM_KEY_F (bookmap IN NUMBER, width IN NUMBER)
return varchar2
is
bookmapstr varchar2(5);
begin
if width = 3
then
if bookmap < 10
then
bookmapstr := '00' || to_char(bookmap); return(bookmapstr); elsif (bookmap < 100 and bookmap >= 10) then bookmapstr := '0' || to_char(bookmap); return(bookmapstr); else bookmapstr := to_char(bookmap); return(bookmapstr); end if;
if bookmap < 10 then bookmapstr := '0' || to_char(bookmap); return(bookmapstr); else bookmapstr := to_char(bookmap); return(bookmapstr);
and when I call it like:
select apn_num_key_f(apn_map, 3) from lb_parcel_pnt
it works fine. The same goes when I use it in a view like:
CREATE OR REPLACE VIEW LB_PARCEL_POLY_V ( PPOLYID,
APN_BOOK, APN_MAP, PARCEL_ID, APN
) AS select a.ppolyid, c.apn_book, c.apn_map, c.parcel_id,
apn_num_key_f(c.apn_book, 3) || apn_num_key_f(c.apn_map, 2) || c.parcel_id
as APN from lb_parcel_poly a,
lb_parcel_pnt_poly_join b,
lb_parcel_pnt c
where b.ppolyid = a.ppolyid and b.ppntid = c.ppntid
however, when I am using toad to look at the data, it says it is a varchar2(4000), when I would like it to be a varchar2(10).
Any ideas would be greatly appreciated.
Thanks,
Scott
Received on Tue Dec 28 1999 - 11:30:19 CST
![]() |
![]() |