sql-server - 如何在 SQL Server 2012 中删除列中的双引号

标签 sql-server sql-server-2008 sql-server-2012

我需要删除列值中的双引号。例如,我在表中有一个列,其值如下

  • “测试名称(“公司”)”
  • “测试,“信任”(“公司”)”

  • 我需要删除围绕“Inc”和“Trust”的双引号,列值应如下所示
  • “测试名称(公司)”
  • "Testing, Trust (Inc)"

  • 我尝试使用 REPLACE() 函数。但它替换了值中的所有双引号。但我想在值的开头和结尾保留引号。请帮忙

    最佳答案

    使用 Replace 从字符串中删除双引号。然后前缀,后缀双引号。

     DECLARE @VAR VARCHAR(50)='"Testing Name ("Inc")"'
    
     CREATE TABLE #TAB (COLUMN_VALUE VARCHAR(50))
    
     INSERT INTO #TAB
     SELECT '"Testing Name ("Inc")"'
     UNION ALL
     SELECT '"Testing, "Trust" ("Inc")"'
    

    现在点击下面的 SELECT 语句
     SELECT COLUMN_VALUE, '"'+REPLACE(COLUMN_VALUE,'"','') +'"' as NEW_COLUMN_VALUE FROM #TAB
    

    结果将是
    +----------------------------+------------------------+
    |        COLUMN_VALUE        |    NEW_COLUMN_VALUE    |
    +----------------------------+------------------------+
    | "Testing Name ("Inc")"     | "Testing Name (Inc)"   |
    | "Testing, "Trust" ("Inc")" | "Testing, Trust (Inc)" |
    +----------------------------+------------------------+
    

    关于sql-server - 如何在 SQL Server 2012 中删除列中的双引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41930777/

    相关文章:

    sql-server - 指定到 :r command in sqlcmd mode 的相对路径

    c# - CLR 触发器只更新特定的列

    sql-server-2008 - SQL Server : drop a FK constraint, 不是外键

    c# - SQL - 对员工进入时间进行分类

    sql - 使用 SQL 遍历 XML

    SQL Server 2005 在未知数量的列上进行透视

    sql-server - SQL查找字符串中的第一个非数字字符

    sql-server-2008 - SQL回滚事务

    sql - 触发插入旧值-已更新的值

    sql - 了解 SSMS 中的索引和缺失索引建议