You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TSQL查询筛选不含指定非法字符的Active Directory用户名

TSQL筛选不含指定非法字符的Active Directory用户名

方法1:使用LIKE运算符(带转义处理)

TSQL的LIKE不支持原生正则,但可以通过转义字符处理特殊通配符,把所有非法字符纳入匹配范围。针对你列出的非法字符:", \, /, [, ], :, ;, |, =, ,, +, *, ?, <, >,需要注意方括号内的特殊字符处理(]必须放在方括号开头,[需要转义)。

查询语句:

SELECT username 
FROM userlist 
WHERE username NOT LIKE '%["\[]/:;|=,+*?<>]%' ESCAPE '\'
  • ESCAPE '\'指定反斜杠为转义符,确保\[匹配实际的[字符
  • 方括号开头的]代表匹配实际的]字符
  • 方括号内的其他字符直接表示要匹配的非法字符,%表示任意位置包含这些字符

方法2:使用PATINDEX函数

PATINDEX返回第一个匹配模式的字符位置,无匹配则返回0,用它判断是否存在非法字符:

SELECT username 
FROM userlist 
WHERE PATINDEX('%["\[]/:;|=,+*?<>]%', username) = 0

逻辑与LIKE方法完全一致,只是通过位置判断替代LIKE的匹配逻辑。

验证建议

可以先去掉NOT执行查询,确认能正确筛选出包含非法字符的记录,再验证目标查询的结果是否符合预期。

内容的提问来源于stack exchange,提问作者user13520940

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 11:25:18