sqlserver查找长括号[数据
sqlserver通配符转义
select * from [user] where loginname like ‘%[%’'是不行的,_ 被认为是任意的字符。
应为
select * from [user] where loginname like ‘%[[]%’
或者
select TOP 100 * from [Spider520mus_music_demoall] t where t.[Music520mustop] like ‘%/[/]%’ escape ‘/’
如果想查找“_cs”结尾的的账户
select * from [user] where loginname like '%cs’是不行的, 被认为是任意的字符。
sqlserver中包含以下通配符:
通配符 含义
% 包含零个或更多字符的任意字符串。
_ 任何单个字符。
[ ] 指定范围(例如 [a-f])或集合(例如 [abcdef])内的任何单个字符。
[^] 不在指定范围(例如 [^a - f])或集合(例如 [^abcdef])内的任何单个字符
所以需要转义字符,有两种写法:
select * from [user] where loginname like ‘%[_]cs’
select * from [user] where loginname like ‘%/_cs’ escape’/’
使用“[]”转义
符号 含义
LIKE ‘5[%]’ 5%
LIKE ‘5%’ 5 后跟 0 个或更多字符的字符串
LIKE ‘[_]n’ _n
LIKE ‘_n’ an, in, on (and so on)
LIKE ‘[a-cdf]’ a, b, c, d, or f
LIKE ‘[-acdf]’ -, a, c, d, or f
LIKE ‘[ [ ]’ [
LIKE ‘]’ ]
使用 ESCAPE 关键字定义转义符
在模式中,当转义符置于通配符之前时,该通配符就解释为普通字符。
例如,要搜索在任意位置包含字符串 5% 的字符串,请使用:WHERE ColumnA LIKE ‘%5/%%’ ESCAPE ‘/’
例子:
查找VersionName 中包含2%字符串的数据
select * from T_DataVersion where VersionName like ‘%2[%]%’
select * from T_DataVersion where VersionName like ‘%2/%%’ ESCAPE ‘/’
Sql查询某个字段是否包含小写字母
SELECT * from student where username COLLATE Chinese_PRC_CS_AS LIKE ‘%[abcdefghijklmnopqrstuvwxyz]%’