需要一种使用SQL查询查找数据中特殊字符的方法吗
我试图在我的任何字段中查找不在a-zA-Z0-9范围内的特殊字符。但是,如果我尝试此查询:需要一种使用SQL查询查找数据中特殊字符的方法吗,sql,sql-server,regex,data-cleaning,Sql,Sql Server,Regex,Data Cleaning,我试图在我的任何字段中查找不在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中的所有记录,所以我只得到: 但我还需要得
select Name from table where Name like '%[?]%'
我有两张唱片:
- 李>
- 修正了吗
select Name from table where Name NOT like '%[a-zA-Z0-9]%'
因为这排除了a-zA-Z0-9中的所有记录,所以我只得到:
- 李>
LIKE '%[^0-9a-zA-Z]%'
数字(0-9)、小写字母(a-z)、大写字母(a-z)。“^”使之成为这些事情中的“非”之一
数字(0-9)、小写字母(a-z)、大写字母(a-z)。“^”使“非”成为以下内容之一请尝试以下代码:
select Name from table where Name like '%[^0-9a-zA-Z ]%'
请尝试以下代码:
select Name from table where Name like '%[^0-9a-zA-Z ]%'
谢谢你的回复。我试过你的建议,但还是得到了更多的结果。然而,看起来您可以通过排除得到非常具体的信息。最后,我根据我得到的数据添加了结果 像这样:
select Name from table where Name LIKE '%[^0-9a-zA-Z() -._/\:=,]%'
这终于给了我想要的东西。尽管我现在面临的新问题是如何抑制[]方括号,这显然也存在于数据中:
- 李>
- HP PCI 10/100Base TX核心[100Base-TX,FD,自动,TT=1500]
- 修正了吗
'%[^0-9a-zA-Z() -._/\:=,**[]**]%'
然而,这是我能处理的。只要我没有得到“所有”的数据 谢谢您的回复。我试过你的建议,但还是得到了更多的结果。然而,看起来您可以通过排除得到非常具体的信息。最后,我根据我得到的数据添加了结果 像这样:
select Name from table where Name LIKE '%[^0-9a-zA-Z() -._/\:=,]%'
这终于给了我想要的东西。尽管我现在面临的新问题是如何抑制[]方括号,这显然也存在于数据中:
- 李>
- HP PCI 10/100Base TX核心[100Base-TX,FD,自动,TT=1500]
- 修正了吗
'%[^0-9a-zA-Z() -._/\:=,**[]**]%'
然而,这是我能处理的。只要我没有得到“所有”的数据 您想要的函数是patindex。您想要的函数是patindex。使用\或\\
'%[^0-9a-zA-Z()-。\/:=,\[\]%'
使用\或\\'%[^0-9a-zA-Z()-。\/:=,\[\]%.