SQL 查询中转义字符的使用

上一篇 / 下一篇  2012-03-23 09:11:08 / 个人分类:学习日志

如果想查找“_cs”结尾的的账户

select * from [user] where loginname like '%_cs'是不行的,_ 被认为是任意的字符,

所以需要转义字符,有两种写法:

select * from [user] where loginname like '%[_]cs'
select * from [user] where loginname like '%/_cs' escape'/'

 

通配符

含义

%

包含零个或更多字符的任意字符串。

_

任何单个字符。

[ ]

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

[^]

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

 

例如:

·         LIKE 'Mc%' 将搜索以字母 Mc 开头的所有字符串(如 McBadden)。

·         LIKE '%inger' 将搜索以字母 inger 结尾的所有字符串(如 RingerStringer)。

·         LIKE '%en%' 将搜索在任何位置包含字母 en 的所有字符串(如 BennetGreenMcBadden)。

·         LIKE '_heryl' 将搜索以字母 heryl 结尾的所有六个字母的名称(如 CherylSheryl)。

·         LIKE '[CK]ars[eo]n' 将搜索下列字符串:CarsenKarsenCarson Karson(如 Carson)。

·         LIKE '[M-Z]inger' 将搜索以字符串 inger 结尾、以从 M Z 的任何单个字母开头的所有名称(如 Ringer)。

·         LIKE 'M[^c]%' 将搜索以字母 M 开头,并且第二个字母不是 c 的所有名称(如 MacFeather)。

使用 ESCAPE 关键字定义转义符。在模式中,当转义符置于通配符之前时,该通配符就解释为普通字符。例如,要搜索在任意位置包含字符串 5% 的字符串,请使用:

WHERE ColumnA LIKE '%5/%%' 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 ']'

]

 


TAG:

南勃万的个人空间 引用 删除 南勃万   /   2012-03-23 10:07:11
3
 

评分:0

我来说两句

Open Toolbar