我正在尝试通过执行以下操作在SQL 2008中运行查询:

@query varchar(max)

SET @query = 'SELECT * FROM Table WHERE [Name] = ' 'Karl' ' '

EXEC(@query)

问题是由于某种原因'Karl'周围的撇号不能被转义,即查询以...WHERE [Name] = Karl执行并失败。

有人有建议吗?

谢谢

卡尔

最佳答案

您可以通过多种方式在SQL Server中转义字符数据,甚至有人主张使用QUOTENAME()函数。

如果您真的想对本主题领域有扎实的理解,那么我建议您看一下有经验的SQL Server开发人员认为对于将Dynamic T-SQL集成到您的方法中必不可少的内容。编码。

The Curse and Blessings of Dynamic SQL

关于sql-server - SQL转义 ' ',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1062083/

10-12 12:18
查看更多