replace 一下吧,把一个单引号,换成两个单引号;-- p , 4 个 ,6 个
p := replace(p,''','''''') ;

解决方案 »

  1.   

    -- p , 4 个 ,6 个
    -- 刚才还是少写了一个。
    p := replace(p,'''','''''') ;
      

  2.   

    这可行,replace 后      'aaaa','bbbbb','ccccc'
    变成什么
      

  3.   

    这可行,replace 后      'aaaa','bbbbb','ccccc'
    变成什么在 SQL 的表示中,一个单引号,相当于括号的作用,如果你的串中包含了单引号,就必须用两个单引号来表示这一个单引号。
    'aaa' 是 aaa
    'a''aa' 是 a'aa 
    'a''''aa' 是 a''a 
    'a'''aa'  这个会出错
    我刚说的那这个方法,在动态拼接 SQL 时,用的频率还是比较高的。
      

  4.   

    这可行,replace 后      'aaaa','bbbbb','ccccc'
    变成什么在 SQL 的表示中,一个单引号,相当于括号的作用,如果你的串中包含了单引号,就必须用两个单引号来表示这一个单引号。
    'aaa' 是 aaa
    'a''aa' 是 a'aa 
    'a''''aa' 是 a''a 
    'a'''aa'  这个会出错
    我刚说的那这个方法,在动态拼接 SQL 时,用的频率还是比较高的。不是做动态拼接,只是传进来是这样的值,我想用nvl函数, nul(@参数,'') 
    @参数 是 'aaaa','bbbbb','ccccc'nul('aaaa','bbbbb','ccccc','') 就出错了