要将所有记录与包含子字符串nvarchar
的{{1}}列进行匹配
例如:Type [B]
以下作品:Owner [C] Type [B] Subtype [X]
但这是相当令人困惑的语法。
有更好的选择吗?
要将所有记录与包含子字符串nvarchar
的{{1}}列进行匹配
例如:Type [B]
以下作品:Owner [C] Type [B] Subtype [X]
但这是相当令人困惑的语法。
有更好的选择吗?
您可以使用ESCAPE选项。
查询将为LIKE '%Type #[B]%' ESCAPE '#'
请找到包含示例数据的工作查询:
DECLARE @TextTable TABLE (String NVARCHAR (500));
INSERT INTO @TextTable(String) SELECT ('Owner [C] Type [B] Subtype [X]');
INSERT INTO @TextTable(String) VALUES ('Owner [C] Type [B Subtype [X]');
INSERT INTO @TextTable(String) VALUES ('Owner [C] Type B Subtype [X]');
SELECT *
FROM @TextTable
WHERE String LIKE '%Type #[B]%' ESCAPE '#'
,
是的,您可以使用ESCAPE
并定义自定义转义字符:
select *
from (select 'Owner [C] Type [B] Subtype [X]' as field) as t
where
t.field LIKE '%Type \[B]%' ESCAPE '\' --can be any char
--t.field LIKE '%Type .[B]%' ESCAPE '.'