SQL查询中的转义字符(通配符)

发布:2010-06-28 14:13   点击634次   评论:0

SQL查询中的转义字符

如果想查找“_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 结尾的所有字符串(如 Ringer、Stringer)。
LIKE ''''%en%'''' 将搜索在任何位置包含字母 en 的所有字符串(如 Bennet、Green、McBadden)。
LIKE ''''_heryl'''' 将搜索以字母 heryl 结尾的所有六个字母的名称(如 Cheryl、Sheryl)。
LIKE ''''[CK]ars[eo]n'''' 将搜索下列字符串:Carsen、Karsen、Carson 和 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 '''']'''' --- ]

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/Adi_liu/archive/2007/12/06/1920606.aspx


''''如果想查找“_cs”结尾的的账户
''''select * from [user] where loginname like ''''%_cs''''是不行的,_ 被认为是任意的字符,
''''所以需要转义字符,有两种写法:
''''select * from [user] where loginname like ''''%[_]cs''''
''''select * from [user] where loginname like ''''%/_cs'''' escape''''/''''
''''Access 的通配符为 ? 和 *
''''SQLServer 的为 _ 和 %
 

关于 GitHub 导航 部门 反馈

提示:`/home.php`入口数据仅为演示功能,不构成任何交易凭证,也不承担相关风险和责任!

Copyright © 2011-2018 xxxxx.com All rights reserved.

Run:3.242/29.822(ms); 7(sql)/2.882(MB); comm:news/detail; Upd:2024-05-17 11:38:13