我试图过滤一些SQL服务器数据,并要求具有以下条件的结果:
有没有一种有效的方法在SQL Server中使用CHAR执行此操作,还是有人有更好的解决方案?
gbn*_*gbn 15
这使用双阴影仅过滤到所需的字符范围
所需范围之外的任何字符都可以从LIKE中获得真实.如果字符串仅包含所需范围内的字符,则LIKE给出false.然后另一个不
WHERE
SomeCol NOT LIKE '%[^a-z0-9-'']%'
Run Code Online (Sandbox Code Playgroud)
注意:我在这里使用单引号
默认情况下,SQL Server不区分大小写.如果需要,添加COLLATE子句
SomeCol COLLATE Latin1_General_CI_AS NOT LIKE '%[^a-z0-9-']%'
Run Code Online (Sandbox Code Playgroud)
或改变范围
SomeCol NOT LIKE '%[^a-zA-Z0-9-']%'
Run Code Online (Sandbox Code Playgroud)
或者,如果你想包括ä= a
SomeCol COLLATE Latin1_General_CI_AI NOT LIKE '%[^a-z0-9-']%'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19216 次 |
| 最近记录: |