在varchar列中查找包含符号的行

ief*_*fpw -2 sql sql-server sql-server-2008

如何选择varchar列包含SQL Server认为符号的任何字符的行?符号可以是字符串中的任何位置.

是否有SQL Server等效的C#char.IsSymbol()功能?

Bri*_*ter 5

暂时假设您对"符号"的定义是任何非字母数字字符.

您需要使用SQL Server的LIKE功能.

这将分别在开始,结束和任何地方找到包含非字母数字的行.

Select * from MyTable where MyColumn like '[^a-zA-Z0-9]%'  -- Starts With
Run Code Online (Sandbox Code Playgroud)

要么

Select * from MyTable where MyColumn like '%[^a-zA-Z0-9]' -- Ends With
Run Code Online (Sandbox Code Playgroud)

要么

Select * from MyTable where MyColumn like '%[^a-zA-Z0-9]%' -- contains
Run Code Online (Sandbox Code Playgroud)

最后一个的表现异常糟糕.

参考