a           b 
人参     rc
红参     hc
西洋参  xycA,B两列,B列是A列的速记码,参是多音字,
如何查找A列的参字,把B列的字母‘c’替换成‘s’

解决方案 »

  1.   

    你这个,要结合php,java语句来实现,单纯的sql很难啊
      

  2.   

    用 MERGE INTO ...... 语句可以!
      

  3.   

    不可能的事,除非你给它造个字典表出来。就一个简单的例子,有的人都分不清平卷舌,你让他写段代码把汉字转化成拼音,可能吗?除非有种字库,把汉字按照拼音排列(比如unicode),或者此种汉字的编码和拼音有个一一映射的关系表。
      

  4.   

    WITH  TEST as ( 
    SELECT '人参' as a,'rc' AS b from dual 
    union 
    SELECT '红参' as a,'hc' AS b from dual 
    union
    SELECT '西洋参' as a,'xyc' AS b from dual 
    union
    SELECT '参西洋' as a,'cxzyc' AS b from dual 
    union
    SELECT '西洋参' as a,'cxyc' AS b from dual 
    )
    select regexp_replace(b,'c+$','s'),b from test where substr(a,-1,1) = '参'这个不知道可以吗?
      

  5.   

    不好改 你不能确定B列的数据里只有一个“c”,要是"cxcyc"的话,你知道要替换那个"c"如果有规律的话 就可以用sql语句解决