模糊查询like 通配符

  create table #kk(chars varchar(100))

insert into #kk
select '124ujkdak342as'
union
select '1297135'
union
select 'jladj-gkd_lag'
union
select 'kadgljwt'
union
select '!#sldjgk235%(ds[jlad'
union
select 'aldj^124]al[dgkds'
union
select 'aldj^@al_dgkds'

union
select '40%'




--%任意字符;_单个字符;-连字符;[]并字符;^'非'字符;
--like的关键字符为了不歧义需要加上[]表示
select * from #kk where chars like '%[[]%' or chars like '[%]' or chars like '%[_]%'

--[]可以多个并在一起和上面的or等价
select * from #kk where chars like '%[%[_]%'

--查看字符串纯数字的[^0-9]表示含有非数字,not like 表示不含非数字即纯数字
select * from #kk where chars not like '%[^0-9]%'
--查看字符串含非字母的
select * from #kk where chars like '%[^a-z]%'

  --escape用法:将字符转义普通字符,转义符后面的字符不是通配符,则将放弃转义符并将该转义符后面的字符作为该模式中的常规字符处理。这包括百分号 (%)、下划线 (_) 和左括号 ([) 

  select * from #kk where chars like '%40&%%' escape '&'

 

posted @ 2020-10-19 11:08  大威1030  阅读(649)  评论(0)    收藏  举报