select replace('1740,1769,1000,989',',','''') from dual;

解决方案 »

  1.   

    select replace('1740,1769,1000,989',',',''''||','||'''') from dual;
      

  2.   

    对不起上面问题已经解决了。就是广丽的写法.谢谢,可是我仍然有问题。
    select id from t where id in ('1348','1599');
    ID
    --
    13
    15select id from t where id in (concat(concat('''',replace('1348,1599',',',''',''')),''''));ORA-01722: invalid number问题是,我要查询的条件是存在另一个表里的一个字段中的.该字段存储着一串符合条件的值
    形式为:12,56,59  或45,6, 或空 (即有以逗号结尾的,也有不以逗号结尾的,也有为空的)
      

  3.   

    逗号前后各加一个单引号,就解决问题了。
    SQL> select '1740,1769,1000,989' a,',' b,''',''' c from dual;A                  B C
    ------------------ - ---
    1740,1769,1000,989 , ','SQL>
      

  4.   

    select replace('1740,1769,1000,989',',',''',''') from dual;