DECLARE @A VARCHAR(max)
SET @A='1111111222222233333333'
SELECT REPLACE(@A,'2','''')我想用''替换所有的2这个sqlserver时候提示我replace 函数要求有 3 个参数。

解决方案 »

  1.   

    DECLARE @A VARCHAR(max)
    SET @A='1111111222222233333333'
    SELECT REPLACE(@A,'2','''')
    /*
       1111111'''''''33333333(影響 1 個資料列)
    */
      

  2.   

    错了,是DECLARE @A VARCHAR(max)
    SET @A='1111111222222233333333'
    SELECT REPLACE(@A,'2','','')用','替换所有的2 
      

  3.   

    我自己弄出来了,不过就是感觉怪怪的.
    DECLARE @A VARCHAR(max)
    SET @A='010,183,164,011,145,190,'
    SELECT REPLACE(@A,',',''',''')
      

  4.   


    select ''','''
    -------------------
    ','
      

  5.   

    DECLARE @A VARCHAR(20),@B VARCHAR(20),@C VARCHAR(20)
    SELECT @A='1111111233333333',@B='111111122233333333',@C='11111112222233333333'SELECT @A A,REPLACE(@A,'2','''''') AA 
    SELECT @B B,REPLACE(@B,'2','''''') BB 
    SELECT @C C,REPLACE(@C,'2','''''') CC
    A                    AA
    -------------------- -----------------------------
    1111111233333333     1111111''33333333B                    BB
    -------------------- -----------------------------
    111111122233333333   1111111''''''33333333C                    CC
    -------------------- -----------------------------
    11111112222233333333 1111111''''''''''33333333
      

  6.   

    sql里'需要转义,两个''才能转义出一个'
      

  7.   

    DECLARE @A VARCHAR(20),@B VARCHAR(20),@C VARCHAR(20)
    SELECT @A='1111111233333333',@B='111111122233333333',@C='11111112222233333333'SELECT @A A,REPLACE(@A,'2',',') AA 
    SELECT @B B,REPLACE(@B,'2',',') BB 
    SELECT @C C,REPLACE(@C,'2',',') CC
    A                    AA
    -------------------- -------------------------
    1111111233333333     1111111,33333333B                    BB
    -------------------- -------------------------
    111111122233333333   1111111,,,33333333C                    CC
    -------------------- -------------------------
    11111112222233333333 1111111,,,,,33333333
      

  8.   

    DECLARE @A VARCHAR(max)
    SET @A='1111111222222233333333'
    SELECT REPLACE(@A,'2','''')没什么问题
      

  9.   

    DECLARE @A VARCHAR(20),@B VARCHAR(20),@C VARCHAR(20)
    SELECT @A='1111111233333333',@B='111111122233333333',@C='11111112222233333333'SELECT @A A,REPLACE(@A,'2',''',''') AA 
    SELECT @B B,REPLACE(@B,'2',''',''') BB 
    SELECT @C C,REPLACE(@C,'2',''',''') CC
    A                    AA
    -------------------- -------------------------
    1111111233333333     1111111','33333333B                    BB
    -------------------- -------------------------
    111111122233333333   1111111','','','33333333C                    CC
    -------------------- -------------------------
    11111112222233333333 1111111','','','','','33333333