【发布时间】:2017-09-30 07:50:59
【问题描述】:
我试图在我的任何字段中查找不在 a-zA-Z0-9 范围内的特殊字符。但是,如果我尝试这个查询:
select Name from table where Name like '%[?]%'
我得到两条记录:
- ???? ?????
- 已修复?????
这是我想要的。但是,由于我不知道特殊字符是什么,因此我需要排除具有混合字符的数据:
select Name from table where Name NOT like '%[a-zA-Z0-9]%'
由于这排除了所有带有 a-zA-Z0-9 的记录,我只得到:
- ???? ?????
但我还需要得到“固定??????”结果。我需要获取合并了特殊字符的数据。
我不知道如何做到这一点。我已经看到使用 shell 脚本或 'vi' (LIST) 完成此操作,但在 SQL 中这并不容易。
有没有人解决这个问题?
【问题讨论】:
-
你要的函数是patindex。
标签: sql sql-server regex data-cleaning