vinculo sirve quoted_identifier que para identificador datos sql-server sql-server-2008 sql-server-2012

sirve - Cómo eliminar las comillas dobles dentro de una columna en SQL Server 2012



sql server quoted_identifier (3)

Necesito eliminar las comillas dobles dentro de un valor de columna. Por ejemplo, tengo una columna en la tabla que tiene los valores de abajo

  1. "Testing Name (" Inc ")"
  2. "Prueba", "Confianza" ("Inc") "

Necesito eliminar las comillas dobles que rodean "Inc" y "Confianza" y los valores de la columna deben parecerse a los siguientes:

  1. "Testing Name (Inc)"
  2. "Pruebas, Confianza (Inc)"

Intenté con la función REPLACE (). Pero reemplaza todas las comillas dobles en un valor. Pero quiero retener las comillas al principio y al final del valor. Amablemente ayuda


SI el inicio y el final del valor siempre contienen comillas dobles, entonces pruebe con la secuencia de comandos siguiente.

SELECT ''"''+REPLACE( [column],''"'','''')+''"'' FROM [table]


Use Reemplazar para eliminar las comillas dobles de la cadena. Y luego Prefijo, Sufijo con comillas dobles.

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")"''

Ahora presione debajo de la declaración SELECT

SELECT COLUMN_VALUE, ''"''+REPLACE(COLUMN_VALUE,''"'','''') +''"'' as NEW_COLUMN_VALUE FROM #TAB

Y el resultado será

+----------------------------+------------------------+ | COLUMN_VALUE | NEW_COLUMN_VALUE | +----------------------------+------------------------+ | "Testing Name ("Inc")" | "Testing Name (Inc)" | | "Testing, "Trust" ("Inc")" | "Testing, Trust (Inc)" | +----------------------------+------------------------+


El código siguiente comprueba si hay un '''' '''' al principio y al final de la cadena y luego reemplaza '''' '''' y concatena '''' '''' para iniciar y finalizar la cadena. Si la cadena no tiene '''' '''' '''' al principio y al final de la cadena, simplemente reemplaza '''' '''' en todas las posiciones de la cadena y no la concatena para comenzar y terminar.

CREATE TABLE #TAB (COLUMN_VALUE VARCHAR(50)) INSERT INTO #TAB SELECT ''"Testing Name ("Inc")"'' UNION ALL SELECT ''"Testing, "Trust" ("Inc")"'' union all select ''Testing Name ("Inc")'' union all SELECT ''Testing, "Trust" ("Inc")'' union all SELECT ''Testing, "Trust" ("Inc")"'' select * from #TAB select case when charindex(''"'',column_value,1)=1 and charindex(''"'',column_value,len(column_value))=len(column_value) then ''"''+REPLACE(COLUMN_VALUE,''"'','''') +''"'' else REPLACE(COLUMN_VALUE,''"'','''') end as ClenedString from #TAB;