如何用函数实现字符串的截取 如:常熟市财政局(预算外资金)海青镇第一分局,把括号及其内容去掉。

解决方案 »

  1.   

    测试数据:CREATE TABLE T167
    (
        ID NUMBER(4),
        F1 VARCHAR2(100)
    );-- 注意你的数据中的括号是中文还是英文的
    INSERT INTO T167 VALUES(1, '常熟市财政局(预算外资金)海青镇第一分局');
    INSERT INTO T167 VALUES(2, '大连市银行(要删除的内容)大连交通局');
    INSERT INTO T167 VALUES(3, '营口市银行(要删除的内容)(大连交)通局');
    测试结果:(执行一下吧,今早csdn不能上传图片)SELECT id, regexp_replace(F1, '\([[:graph:]]*\)', '')
    FROM T167
      

  2.   

    SELECT id, regexp_replace(regexp_replace(F1, '\([[:graph:]]*\)', ''), '\([[:graph:]]*\)', '') F1
    FROM T167;
    1 1 常熟市财政局海青镇第一分局
    2 2 大连市银行大连交通局
    3 3 营口市银行通局
    再套一层,处理中文括号~