Oracle 中 replace

replace

在写sql 的时候需要用到 replace功能的地方,在Java中可以有replace 和 replaceAll 函数,在Oracle中也是有的,例如:

select replace('pipiPIIiiiiii','PII','') from DUAL;

这样就可以把 ‘pipiPIIiiiiii’中的 'PII’替换掉了。

如果要把某个字段中的部分字符串替换或过滤掉,也可以在 update 的时候使用,如:

update tableA set column_desc=replace(column_desc,'abc','cba') where ...;

这样就可以把comumn_desc 字段中的 ‘abc’ 都替换成 ‘cba’了。

sql%rowcount

在 update 数据的时候,有时想知道 update到底有什么更新数据,是这条数据不存在还是已经被更新了,特别是有时候需要更新几百条乃至更多数据的时候,我们要知道给出的指定id 的数据到底更新了没有,如果表中根本不存在这条数据我们要心中有数,这样在 update 的时候就可以用 sql%rowcount 来看看是不是更新了,例如:

UPDATE tableB 
   SET 
   VERSION         =version+1
   WHERE column_id = IN_ID;
update_count:=sql%rowcount; 

IF update_count = 0 THEN
   dbms_output.put_line('column_id =' || IN_ID || ' does not exists in tableB.');
ELSE
   ...

这样在得知有数据更新和没有数据更新的时候都可以自由处理了。

原文地址:https://www.cnblogs.com/yuxiaoqi/p/3400312.html