我在从带有单引号的存储过程执行 SQL 语句时遇到问题。这是我正在执行的存储过程的查询。
EXEC('UPDATE myTABLE
SET myCOLUMN = (SELECT Replace('OSINGLEQUOTEJOHN DOE','SINGLEQUOTE','''')')
我正在尝试使用值“O'John Doe”更新表“myTABLE”列“myCOLUMN”
实际的查询是这样的,我在上面的例子中尝试简化一下
EXEC('UPDATE myTABLE
SET myCOLUMN = (SELECT Replace('+ @IntegrationGuardian2FullName +','SINGLEQUOTE','''')')
@IntegrationGuardian2FullName
的值为“OSINGLEQUOTEJOHN DOE”。希望这更有意义。
任何机构都可以帮助我格式化此查询吗?
最佳答案
用途:
EXEC('UPDATE myTABLE
SET myCOLUMN = (SELECT REPLACE(''OSINGLEQUOTEJOHN DOE'',
''SINGLEQUOTE'',
''''''''))')
您提供的内容需要在字符串两边加上两个单引号,以及要替换的内容,以及额外的单引号,因为动态 SQL 需要单引号转义。
关于sql - 在 SQL 的 Exec 语句中使用单引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3364232/