撇号动态 SQL
DECLARE @SQL Varchar(Max)
DECLARE @DESCR Varchar(Max)
-- Customer enters description into @Descr
SET @SQL = 'Update TableName SET FieldName='''
+ @DESCR
+ ''' WHERE ID=123'
问题是当客户在 @Descr 变量中输入撇号时。
问:在 Microsoft SQL Server 2005 中,如何将所有撇号替换为双撇号?
DECLARE @SQL Varchar(Max)
DECLARE @DESCR Varchar(Max)
-- Customer enters description into @Descr
SET @SQL = 'Update TableName SET FieldName='''
+ @DESCR
+ ''' WHERE ID=123'
The problem is when the customer enters an apostrophe into the @Descr variable.
Q: In Microsoft SQL Server 2005, how do I replace all apostrophies with double apostrophe?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果这甚至需要动态 SQL(您所显示的代码不需要),则使用参数化 SQL 和 sp_executesql 来避免 SQL 注入的可能性。
If this even needs to be dynamic SQL at all (the code you have shown doesn't) then use parameterised SQL and
sp_executesql
for this to avoid SQL injection possibilities.不建议用于生产,但可以使用。
Not recommended for production, but will work.