declare
v_c1 varchar(100);
v_c2 char(10);
v_posi integer := 0;
begin
v_c1 := '2008-1-25,2008-1-26';
v_c1 :='2008-1-26';
v_posi := instr(v_c1,v_c2);
end;
以上代码怎么都无法获取v_posi 值,查了半天原来oralce 下instr函数参数类型必须一致才可以。
将 v_c2 char(10) 改为 v_c2 varchar(10)就可以了。
本文介绍了一个关于Oracle数据库中INSTR函数使用的常见问题:当比较的两个字符串变量类型不一致时,函数可能无法正确返回结果。通过一个具体的例子展示了如何定位问题并解决,即将CHAR类型更改为VARCHAR2类型。
5134

被折叠的 条评论
为什么被折叠?



