T-SQL:字符串连接是唯一选项或如何正确转义SQL字符串

时间:2015-05-05 15:34:21

标签: sql sql-server tsql escaping

我很清楚参数化SQL语句的唯一可靠方法是使用名称或其他参数。

不幸的是,并不总是可以使用它们。例如,

create login [user] with password = 'p@$$w0rd'

根本不接受参数。

根据具体情况,在T-SQL中转义字符串的最可靠方法是什么?

1 个答案:

答案 0 :(得分:1)

This answer看起来很相关,但是如果您正在使用更通用的解决方案,那么您可以要求数据库为您引用它:

SELECT QUOTENAME(@myvalue, '''')

这应该返回一个可以在连续SQL中使用的安全值。