正则表达式接受';系统管理员';和';系统管理员';SQL Server中的字符串
我需要跟踪等于“系统管理员”和“系统管理员”的字符串 我使用了带方括号的正则表达式接受';系统管理员';和';系统管理员';SQL Server中的字符串,sql,sql-server,regex,sql-server-2008,Sql,Sql Server,Regex,Sql Server 2008,我需要跟踪等于“系统管理员”和“系统管理员”的字符串 我使用了带方括号的类似的表达式,但它至少应该包含一个字符 LIKE 'System[] Admin' 如何跟踪等于“系统管理员”和“系统管理员”的字符串您可以这样尝试 DECLARE @sql TABLE (col1 VARCHAR(50)) INSERT INTO @sql VALUES ('Systems Admin') ,('System Admin') ,('SystemA Admin') ,('Sys A
类似的表达式,但它至少应该包含一个字符
LIKE 'System[] Admin'
如何跟踪等于“系统管理员”和“系统管理员”的字符串您可以这样尝试
DECLARE @sql TABLE (col1 VARCHAR(50))
INSERT INTO @sql
VALUES ('Systems Admin')
,('System Admin')
,('SystemA Admin')
,('Sys Admin')
SELECT *
FROM @sql
WHERE col1 LIKE 'System_ Admin'
OR col1 LIKE 'System Admin'
你可以这样试试
DECLARE @sql TABLE (col1 VARCHAR(50))
INSERT INTO @sql
VALUES ('Systems Admin')
,('System Admin')
,('SystemA Admin')
,('Sys Admin')
SELECT *
FROM @sql
WHERE col1 LIKE 'System_ Admin'
OR col1 LIKE 'System Admin'
不幸的是,T-SQLLike
操作符非常有限。它只有一个概念可以容纳可变数量的字符-%
,您无法控制实际匹配的字符数。您指定的所有其他内容都涉及单个字符(精确字符、匹配任何字符的下划线,或描述可接受字符子集以匹配单个字符的范围表达式)。我看到的最直接的选择是在('System Admin'、'Systems Admin')
。不幸的是,T-SQL类
运算符非常有限。它只有一个概念可以容纳可变数量的字符-%
-并且您无法控制实际匹配的字符数。您指定的所有其他内容都处理单个字符(精确字符、匹配任何字符的下划线或描述可接受字符子集以匹配单个字符的范围表达式)我看到的最直接的选择是将类似于('System Admin','Systems Admin')
的替换为类似于('System Admin',Systems Admin')
。