¿Cómo puedo escapar de una comilla simple en SQL Server?
Estoy intentando incluir insert
algunos datos de texto en una tabla en SQL Server 9.
El texto incluye una cita simple '
.
¿Cómo puedo escapar de eso?
Intenté usar dos comillas simples, pero me arrojó algunos errores.
p.ej.insert into my_table values('hi, my name''s tim.');
Aceptado
Las comillas simples se escapan duplicándolas , tal como nos mostró en su ejemplo. El siguiente SQL ilustra esta funcionalidad. Lo probé en SQL Server 2008:
DECLARE @my_table TABLE (
[value] VARCHAR(200)
)
INSERT INTO @my_table VALUES ('hi, my name''s tim.')
SELECT * FROM @my_table
Resultados
value
==================
hi, my name's tim.
Si escapar de su comilla simple con otra comilla simple no le funciona (como no funcionó para una de mis REPLACE()
consultas recientes), puede usarlo SET QUOTED_IDENTIFIER OFF
antes de su consulta y luego SET QUOTED_IDENTIFIER ON
después de su consulta.
Por ejemplo
SET QUOTED_IDENTIFIER OFF;
UPDATE TABLE SET NAME = REPLACE(NAME, "'S", "S");
SET QUOTED_IDENTIFIER ON;
-- set OFF then ON again
Qué tal si:
insert into my_table values('hi, my name' + char(39) + 's tim.')