【发布时间】:2022-11-11 01:01:23
【问题描述】:
我有一个应该是 Active Directory 用户列表的表。在许多情况下,它们的名称中包含无效字符
我需要有一个查询,它只选择那些用户名不包含
这些字符中的任何一个。
"\/[]:;|=,+*?<>
就像是
select username from userlist where username not like regex
我知道如何轻松过滤其中一个,但不确定如何查找其中任何一个。
【问题讨论】:
-
用户名不像 '%\%' 和用户名不像 '%/%' 等等......
-
T-SQL 没有正则表达式。您可以将
LIKE与要排除的字符匹配的模式一起使用,例如WHERE UserName NOT LIKE '%["\/[]:;|=,+*?<> ]%'。模式[...]匹配方括号内任何字符的单个实例
标签: sql sql-server