Sql server 带转义字符的类T-SQL
将所有记录与包含子字符串类型[B]的nvarchar列匹配 例如:所有者[C]类型[B]子类型[X] 以下工作方式:如“%Type[]B[]]%” 但它的语法相当混乱 有更好的选择吗 您可以使用选项 查询将类似于“%Type[B]”转义 请查找包含示例数据的工作查询:Sql server 带转义字符的类T-SQL,sql-server,tsql,sql-server-2012,escaping,sql-like,Sql Server,Tsql,Sql Server 2012,Escaping,Sql Like,将所有记录与包含子字符串类型[B]的nvarchar列匹配 例如:所有者[C]类型[B]子类型[X] 以下工作方式:如“%Type[]B[]]%” 但它的语法相当混乱 有更好的选择吗 您可以使用选项 查询将类似于“%Type[B]”转义 请查找包含示例数据的工作查询: DECLARE @TextTable TABLE (String NVARCHAR (500)); INSERT INTO @TextTable(String) SELECT ('Owner [C] Type [B] Subtyp
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 '#'
您可以使用这个选项
查询将类似于“%Type[B]”转义
请查找包含示例数据的工作查询:
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 '#'
是的,您可以使用转义并定义自定义转义字符:
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 '.'
是的,您可以使用转义并定义自定义转义字符:
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 '.'
另外,请参考这篇文章:只需要逃离开放方括号[而不是封闭方括号]?@baltostar Yes,]不需要逃离。也请参考这篇文章:只需要逃离开放方括号[而不是封闭方括号]?@baltostar Yes,]不需要逃逸。只需要逃逸开放方括号[但不需要封闭方括号]?只需要逃逸开放方括号[但不需要封闭方括号]?