Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.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 如何在不包括某些值的较大字符串中搜索字符串?_Sql_Sql Server 2014 - Fatal编程技术网

Sql 如何在不包括某些值的较大字符串中搜索字符串?

Sql 如何在不包括某些值的较大字符串中搜索字符串?,sql,sql-server-2014,Sql,Sql Server 2014,我有一个带有大字符串的字段-一个包含代码的nvarchar字段。我有一个查询,可以在代码字段中使用“%CustomField15%”之类的语句搜索字符串,它的工作方式与预期的一样 但是,当我使用像“%CustomField1%”这样的命令时,我也会得到“CustomField11”、“CustomField12”、“CustomField13”等命令的结果 我如何在没有任何其他值的情况下返回“CustomField1” 有时我确实想搜索CustomField15或任何其他值,所以我不能总是消除它

我有一个带有大字符串的字段-一个包含代码的nvarchar字段。我有一个查询,可以在代码字段中使用“%CustomField15%”之类的语句搜索字符串,它的工作方式与预期的一样

但是,当我使用像“%CustomField1%”这样的命令时,我也会得到“CustomField11”、“CustomField12”、“CustomField13”等命令的结果

我如何在没有任何其他值的情况下返回“CustomField1”

有时我确实想搜索CustomField15或任何其他值,所以我不能总是消除它。有时是CustomField2或CustomField22等等。基本上,当搜索字符串仅为CustomField1、2或3时,我需要一个解决方案

DECLARE @Field AS nvarchar(25) = 'CustomField1';
SELECT *
FROM Table
WHERE Code LIKE '%'+@Field+'%';
编辑:回答几个初始问题:在搜索字段名之前或之后可能会有很多代码。这是完整的代码,我在任何地方搜索存储代码中使用的字段。字段名后面可能有空格,也可能没有空格,因为它取决于编写被搜索代码的人倾向于如何编写代码

在表中存储的伪代码中搜索字段的超级简单示例:

UPDATE table
SET CustomField1= CustomField2 + [Salary]
WHERE [CustomField1] > 100000
如果我搜索CustomField1并在末尾加上空格,我将不会得到任何结果。人员可使用无空间的支架或操作员。另一个例子可能就好像我在本例中搜索CustomField2一样


现在,我可以返回此行,但在搜索“CustomField1”时,仍必须清除包含“CustomField11”、“12”、“13”等内容的结果。

字段名后面是否有内容?例如,如果后面有空格或逗号,可以使用
%CustomField1%
(注意第二个空格之前的空格%)或
%CustomField1,%%
。(第二个字符前加逗号。)你能举一些有代表性的例子来说明“代码”字段是什么样的吗?