我很清楚参数化SQL语句的唯一可靠方法是使用名称或其他参数。
不幸的是,并不总是可以使用它们。例如,
create login [user] with password = 'p@$$w0rd'
根本不接受参数。
根据具体情况,在T-SQL中转义字符串的最可靠方法是什么?
答案 0 :(得分:1)
This answer看起来很相关,但是如果您正在使用更通用的解决方案,那么您可以要求数据库为您引用它:
SELECT QUOTENAME(@myvalue, '''')
这应该返回一个可以在连续SQL中使用的安全值。