用replace函数
select replace('this is that','is','are') "result" from dual;
result
--------
thare are that

解决方案 »

  1.   

    我是要把一张表里的某个字段的部分内容替换呀难道不需要用UPDATE?SQL SERVER里的STAFF函数不能用在ORACLE里,否则我自己也能写一个了,ORACLE实在不熟悉高手快救命呀!
      

  2.   

    select replace('P/thumb/0203/1100025t.jpg','P/thumb/0203/','P/thumb/0202/') "result" from dual;
    result
    -------------------------
    P/thumb/0202/1100025t.jpg已选择 1 行。
      

  3.   

    update 表名 
    set 字段=replace('P/thumb/0203/1100025t.jpg','P/thumb/0203/','P/thumb/0202/');
    commit;
      

  4.   

    这么写是不是只能替换一条记录?
    1100025t.jpg部分是不断在变化的。'0203'部分可能是'0204'、'0205'等等。我现在只要把这个字段的所有 '0203'(也可能是'0204'等)这4个字符替换成'0202',有什么办法么?
      

  5.   

    加WHERE了,但更不对了,把所有的记录都替换成'P/thumb/0202/1100025t.jpg'了。
      

  6.   

    我真服了你update 表名 
    set 字段=replace('P/thumb/0203/1100025t.jpg','P/thumb/0203/','P/thumb/0202/') where substr('P/thumb/0203/1100025t.jpg',9,4)=0203;
    commit;
      

  7.   

    update 表名 
    set 字段=replace(字段,'P/thumb/0203/','P/thumb/0202/') 
    where substr('P/thumb/0203/1100025t.jpg',9,4)=0203;
    commit;其实他基本上写对了,只是忘记了一个小小的地方。赫赫。
      

  8.   

    太感谢了,成功了。
    不过由于'P/thumb/0203/'中的'0203'也是在改动的,所以每次执行只能修改0203的,而0204、0205就不行了,能不能把这个SQL再改进点?在SQL SERVER里可以用stuff来实现,但这个函数在ORACLE里没有555
      

  9.   

    楼上的建议很不错,不过这次的库表结构已经确定了,要改的话,工作量太大了。ORACLE中有什么函数可以实现STUFF的功能么?我希望这个SQL语句能够对'0203'变动的情况也考虑高手请帮忙!!!
      

  10.   

    update 表名 
    set 字段='P/thumb/0202/'||substr(字段,14)
    where substr(字段,9,4)>=0203 and substr(字段,9,4)<=0209;
      

  11.   

    啊?可能是我的表达能力不行吧。
    我再重新描述一边吧:
    现在有表item,字段itempath。
    这个itempath字段的内容如下:
    P/thumb/0203/1100025t.jpg
    P/thumb/0203/1100026t.jpg
    P/thumb/0202/1100027t.jpg
    P/thumb/0202/1100028t.jpg
    P/thumb/0205/1100029t.jpg
    P/thumb/0205/1100030t.jpg
    .....我现在需要把这个字段改成:
    P/thumb/0202/1100025t.jpg
    P/thumb/0202/1100026t.jpg
    P/thumb/0202/1100027t.jpg
    P/thumb/0202/1100028t.jpg
    P/thumb/0202/1100029t.jpg
    P/thumb/0202/1100030t.jpg实现这个功能应该如何做?
      

  12.   

    感谢 prairie_orchid(暴雪) ,终于成功了。