Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在字符串SQL中添加“0”_Sql_Sql Server - Fatal编程技术网

在字符串SQL中添加“0”

在字符串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)

向字符串添加字段时遇到问题。现在,我有一个存储过程在一个巨大的字符串上运行,里面的所有内容都在运行,但是我在创建Where语句时遇到了问题

我有:

' 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,这把它搞砸了。谢谢