oracle 9i
create table TB1
(
  ID   NUMBER(10) not null,
  CODE NCHAR(20),
  NAME VARCHAR2(100)
)create or replace function format(code in varchar2)
return varchar2 deterministic
as
begin
return replace(code,'-','');
end;select rownum,code,format(code) as code0 from tb1 where rownum<=300;结果是前100条的code0值正常?100后面的code0都是null?
也就是说:不管format怎么写,执行100次后,参数code将不能从nchar转为varchar2我有两个表用到,分别是nchar和varchar2类型的字段
如果format(code in nvarchar2),则format(varchar2字段)就是null
sql直接调用oracle自带的replace就没问题装了oracle 10和11的朋友也顺便帮我测测,谢谢拉