Sqlserver系列(二) 模糊查询 like

时间:2023-03-09 21:18:37
Sqlserver系列(二) 模糊查询 like

通配符

  % 匹配零个或多个字符

  _ 匹配单个字符

  []  指定范围 ([a-f]) 或集合 ([abcdef]) 中的任何单个字符。

  [^] 不属于指定范围 ([a-f]) 或集合 ([abcdef]) 的任何单个字符。

  转义符 []

示例

  'a[a-f,^h-k]c' 匹配  a,c a^c aac abc  acc  adc  aec  afc  ahc  aic  ajc  akc

  'a[a-f]c' 匹配 aac  abc  acc  adc  aec  afc

  'a[^a-f]c' 匹配 a[中间非a-f]c

  'a[a-b,c-d]c' 匹配 a,c  aac  abc  acc adc

  'a[c' 匹配 ac

  'a]c' 匹配 a]c

  'a[[]c' 匹配 a[c

测试代码

 select *
from(
select 'aac' name
union
select 'abc'
union
select 'acc'
union
select 'adc'
union
select 'aec'
union
select 'afc'
union
select 'agc'
union
select 'ahc'
union
select 'aic'
union
select 'ajc'
union
select 'akc'
union
select 'alc'
union
select 'amc'
union
select 'anc'
union
select 'aoc'
union
select 'apc'
union
select 'aqc'
union
select 'arc'
union
select 'asc'
union
select 'atc'
union
select 'auc'
union
select 'avc'
union
select 'awc'
union
select 'axc'
union
select 'ayc'
union
select 'azc'
union
select 'a1c'
union
select 'a2c'
union
select 'a3c'
union
select 'a4c'
union
select 'a5c'
union
select 'a6c'
union
select 'a7c'
union
select 'a8c'
union
select 'a9c'
union
select 'a0c'
union
select 'a-c'
union
select 'a_c'
union
select 'a+c'
union
select 'a=c'
union
select 'a[c'
union
select 'a]c'
union
select 'a{c'
union
select 'a}c'
union
select 'a|c'
union
select 'a\c'
union
select 'a;c'
union
select 'a%c'
union
select 'a,c'
union
select 'a^c'
union
select 'ac'
)container
where name like 'a[[]c'

测试代码