sql server - una - Reemplazar el carácter de la marca de cotización en la tabla usando SQL
modificar una tabla en sql server (4)
Intento hacer una búsqueda simple de búsqueda y reemplazo utilizando MSSQL, sin embargo, la consulta se ejecuta sin eliminar el carácter. Mantener en el mío Quiero una consulta sin tener que enumerar los datos únicos en cada fila.
Fila actual
Number
''''12454545''''
''''12454''''
''''1895622''''
''''9846252''''
Salida requerida
Number
12454545
12454
1895622
9846252
Por lo tanto, solo necesito eliminar el ('''') del valor en cada fila. La función de buscar y reemplazar en Excel es exactamente el principio requerido aquí.
Aquí hay dos de las consultas que he intentado que se ejecuta con éxito, sin embargo, no elimina el ('''').
UPDATE [Table]
SET [Number] = REPLACE([Number], '''''''', '''')
SELECT REPLACE([Number], '''''''', '''') FROM [Table]
¿Alguna sugerencia?
De acuerdo, creo que puedes usar SET QUOTED_IDENTIFIER OFF
antes de tu consulta, algo como esto:
SET QUOTED_IDENTIFIER OFF;
UPDATE [Table]
SET [Number] = REPLACE([Number], "''", "")
SET QUOTED_IDENTIFIER ON;
Prueba esto:
UPDATE [Table]
SET [Number] = REPLACE([Number], ''"'', '''')
Esto básicamente tiene el mismo impacto que reemplazar dos '''', porque cada individuo ''será reemplazado.
No estoy seguro de por qué no está funcionando pero puedo adivinarlo porque cómo SQL-SERVER trata con comillas en una cadena y '''' '''' es lo mismo que '''', de modo que cuando pones una comilla individual se reconocerá .
Su respuesta a mi comentario sugiere que está tratando con el carácter ASCII 34, que es una comilla simple ("), no la comilla simple (''carácter 39) que está tratando de reemplazar con su código actual.
En cambio, intente:
UPDATE [Table] SET [Number] = REPLACE([Number], ''"'', '''')
O, para hacerlo más obvio:
UPDATE [Table] SET [Number] = REPLACE([Number], CHAR(34), '''')
Tratar
UPDATE [Table]
SET [Number] = REPLACE(REPLACE([Number],'''''''',''''),''"'','''')