我试图将一些文本数据插入到SQL Server 9中的表中。
文本中包含了一个引用。
我怎么逃脱呢?
我尝试使用两个单引号,但它给我带来了一些错误。
如。插入my_table值('hi, my name' s tim.');
我试图将一些文本数据插入到SQL Server 9中的表中。
文本中包含了一个引用。
我怎么逃脱呢?
我尝试使用两个单引号,但它给我带来了一些错误。
如。插入my_table值('hi, my name' s tim.');
当前回答
如何:
insert into my_table values('hi, my name' + char(39) + 's tim.')
其他回答
双引号选项帮助我
SET QUOTED_IDENTIFIER OFF;
insert into my_table values("hi, my name's tim.");
SET QUOTED_IDENTIFIER ON;
有两种方法可以解决这个问题:
对于',你可以简单地在字符串中加倍它,例如。 选择'I' m happy '——将得到:I'm happy
对于任何你不确定的字符:在sql server中,你可以通过选择unicode(':')来获得任何字符的unicode(你保留这个数字)
在这种情况下你还可以选择I +nchar(39)+ m happy
如何:
insert into my_table values('hi, my name' + char(39) + 's tim.')
只要在要插入的任何东西之前插入一个'。它将像sqlServer中的转义字符
例子: 当你有场作为,我很好。 你可以: UPDATE my_table SET row ='I' m fine.';
通过将单引号加倍来转义,就像您在示例中展示的那样。下面的SQL说明了这个功能。我在SQL Server 2008上进行了测试:
DECLARE @my_table TABLE (
[value] VARCHAR(200)
)
INSERT INTO @my_table VALUES ('hi, my name''s tim.')
SELECT * FROM @my_table
结果
value
==================
hi, my name's tim.