代码之家  ›  专栏  ›  技术社区  ›  Blerta

T-SQL替换双引号

  •  2
  • Blerta  · 技术社区  · 15 年前

    我有一个T-SQL语句 Replace(field,'\''','\"') 因为我有两个不同的结果 “field1”和“field2”,但是如果我认为这两个不同的结果是相同的,并且希望对它们进行分组,那该怎么办?我选择用第二种样式替换前两个双引号来对这两个进行分组,但是尽管替换后的双引号不会被解释为同一种类型的引号。

    我这里缺少什么??

    编辑:我试图将文本相同但引号不同的数据分组,用户输入两个单引号“hello”和一个双引号“hello”,如果我有这两行,我试图将它们显示为一个“hello”,因此通过执行上述语句,我认为我应该能够做到这一点,但即使没有斜线,它也无法正常工作。

    1 回复  |  直到 15 年前
        1
  •  6
  •   KM.    15 年前

    查看此代码:

    DECLARE @X  varchar(20)
    SET @X='''''Hello"'
    
    PRINT @X
    PRINT REPLACE(@X,'''''','"')
    PRINT REPLACE(REPLACE(@X,'''''',''''),'"','''')
    

    以下是输出:

    ''Hello"
    "Hello"
    'Hello'
    

    SQL Server不使用斜杠转义引号,单引号使用另一单引号转义。这将打印一个Qoute:

    print ''''
    

    这将打印两个单引号:

    print ''''''