为了账号安全,请及时绑定邮箱和手机立即绑定

如何避免SQL Server中的单引号?

如何避免SQL Server中的单引号?

慕慕森 2019-06-05 16:18:00
如何避免SQL Server中的单引号?我在试着insert中的表中的一些文本数据SQL Server 9.该文本包括一个单引号(‘)。我怎么才能逃避呢?我试着用两个单引号,但它给我带来了一些错误。例如。insert into my_table values('hi, my name''s tim.');
查看完整描述

3 回答

?
青春有我

TA贡献1784条经验 获得超8个赞

单引号通过加倍转义。就像你在你的例子中向我们展示的那样。下面的SQL说明了此功能。我在SQLServer 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.


查看完整回答
反对 回复 2019-06-05
?
拉丁的传说

TA贡献1789条经验 获得超8个赞

如果用另一个单引号转义你的单引号对你没有用(就像我最近的一个单引号没有效果一样)REPLACE()),您可以使用SET QUOTED_IDENTIFIER OFF在查询之前,SET QUOTED_IDENTIFIER ON在你的询问之后。

例如

SET QUOTED_IDENTIFIER OFF;UPDATE TABLE SET NAME = REPLACE(NAME, "'S", "S");SET QUOTED_IDENTIFIER ON;-- set OFF then ON again


查看完整回答
反对 回复 2019-06-05
?
交互式爱情

TA贡献1712条经验 获得超3个赞

不如:

insert into my_table values('hi, my name'+char(39)+'s tim.')


查看完整回答
反对 回复 2019-06-05
  • 3 回答
  • 0 关注
  • 959 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信