我需要在描述字段字符串/行中查找以下特殊字符的提及。其中一些很简单,但有一些我不知道如何查找:
Special characters: < > { } [ ] " ' * = @ ~ | <Tab> (tab key) <Enter> (extra line (carriage return))
到目前为止我所拥有的:
select * from
table
where [Account description] like '[<>{}[]*=@~|]'
不确定如何识别以下特殊字符:
" (double quote)
' (single quote)
<Tab> (tab key)
<Enter> (extra line (carriage return))
最佳答案
听起来您想要所有非字母数字字符?如果是这样,您可以使用
declare @table table (id int identity (1,1), column1 nvarchar(64))
insert into @table
values
('<'),
('>'),
('{'),
('}'),
('['),
(']'),
('"'),
(''''),
('*'),
('='),
('@'),
('~'),
('|'),
('a' + char(10)),
('b' + char(13)),
('c' + char(9)),
('a'),
('A'),
('1')
select *
from @table
where [Account description] like '%[^0-9a-zA-Z]%'
否则,您需要显式列出它们并在特殊情况下使用转义值...
select *
from @table
where column1 like '%[<>{}![!]"''''*=@~|]%' ESCAPE '!'
or column1 like '%' + char(10) + '%'
or column1 like '%' + char(9) + '%'
or column1 like '%' + char(13) + '%'
关于sql-server - 查找特定的特殊字符 SQL Server 2008 R2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47289298/