在字符串SQL中添加“0”
向字符串添加字段时遇到问题。现在,我有一个存储过程在一个巨大的字符串上运行,里面的所有内容都在运行,但是我在创建Where语句时遇到了问题 我有:在字符串SQL中添加“0”,sql,sql-server,Sql,Sql Server,向字符串添加字段时遇到问题。现在,我有一个存储过程在一个巨大的字符串上运行,里面的所有内容都在运行,但是我在创建Where语句时遇到了问题 我有: ' Cast(Name AS varchar(max)) NOT IN (''Jimmy' + CHAR(39) + 's'')' 但我的CHAR39有个错误。我怎样才能让它看起来像吉米在绳子里?我知道这可能是一个愚蠢的修正,但请帮助。你需要再次将其加倍,因为撇号必须在两轮分隔符中幸存。尝试: ' Cast(Name AS varchar(max)
' Cast(Name AS varchar(max)) NOT IN (''Jimmy' + CHAR(39) + 's'')'
但我的CHAR39有个错误。我怎样才能让它看起来像吉米在绳子里?我知道这可能是一个愚蠢的修正,但请帮助。你需要再次将其加倍,因为撇号必须在两轮分隔符中幸存。尝试:
' Cast(Name AS varchar(max)) NOT IN (''Jimmy''''s'')'
例如,比较:
DECLARE @sql NVARCHAR(255) = N'SELECT ''Jimmy' + CHAR(39) + ''';';
EXEC sp_executesql @sql;
味精105,第15级,状态1,第1行
字符串“Jimmy”;”后的未闭合引号。
Msg 102,15级,状态1,第1行
“Jimmy';”附近的语法不正确
这是:
DECLARE @sql NVARCHAR(255) = N'SELECT ''Jimmy''s'';';
EXEC sp_executesql @sql;
味精105,第15级,状态1,第1行
字符串“;”后未闭合的引号
最后:
DECLARE @sql NVARCHAR(255) = N'SELECT ''Jimmy''''s'';';
EXEC sp_executesql @sql;
结果:
-------
Jimmy's
是的,我试过了,但是它把它作为一个而不是一个“=”\n我得到了一个错误:字符串后面有一个未闭合的引号。哦,哇,没关系,我在结尾有一个额外的字符39,这把它搞砸了。谢谢