T-SQL转义引号字符

时间:2010-01-08 17:20:25

标签: tsql escaping

注意:这可能是重复但我找不到合适的答案。

以下是我正在尝试的东西,请注意值中的'。我该如何解决这个问题?

INSERT INTO [pugraider].[dbo].[Realms]([Name]) VALUES('Aman'Thul')

我使用的是MS SQL Server Management Studio 2008。

编辑:我正在编写一个脚本来填充查找表(ID< - > Name)。

1 个答案:

答案 0 :(得分:23)

这将有效: -

INSERT INTO [pugraider].[dbo].[Realms]([Name]) VALUES('Aman''Thul')

通常,在T-SQL中使用这种硬编码值的唯一原因是在DB构造代码中,例如初始化查找表。

否则此代码可能是字符串连接的结果,以从某些输入源构建一些T-SQL。如果是这种情况,它值得找到避免它的方法,因为它可以打开你的应用程序进行SQL注入攻击。