如何删除 SQL Server 2012 中列中的双引号

SQL*_*per 5 sql-server sql-server-2008 sql-server-2012

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

  1. “测试名称(“Inc”)”
  2. “测试、‘信任’(‘Inc’)”

我需要删除“Inc”和“Trust”周围的双引号,列值应如下所示

  1. “测试名称(公司)”
  2. “测试、信任(公司)”

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

Sha*_*rza 6

使用 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")"'
Run Code Online (Sandbox Code Playgroud)

现在点击下面的 SELECT 语句

 SELECT COLUMN_VALUE, '"'+REPLACE(COLUMN_VALUE,'"','') +'"' as NEW_COLUMN_VALUE FROM #TAB
Run Code Online (Sandbox Code Playgroud)

结果将是

+----------------------------+------------------------+
|        COLUMN_VALUE        |    NEW_COLUMN_VALUE    |
+----------------------------+------------------------+
| "Testing Name ("Inc")"     | "Testing Name (Inc)"   |
| "Testing, "Trust" ("Inc")" | "Testing, Trust (Inc)" |
+----------------------------+------------------------+
Run Code Online (Sandbox Code Playgroud)