牛骨文教育服务平台(让学习变的简单)
博文笔记

SQL中通配符、转义符与"["号的使用(downmoon)

创建时间:2005-11-01 投稿人: 浏览次数:8493
一、搜索通配符字符的说明

可以搜索通配符字符。有两种方法可指定平常用作通配符的字符:

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

    在上述 LIKE 子句中,前导和结尾百分号 (%) 解释为通配符,而斜杠 (/) 之后的百分号解释为字符 %。

  • 在方括号 ([ ]) 中只包含通配符本身。要搜索破折号 (-) 而不是用它指定搜索范围,请将破折号指定为方括号内的第一个字符:
    WHERE ColumnA LIKE "9[-]5"

    下表显示了括在方括号内的通配符的用法。

    符号 含义
    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 "]" ]

二、实例说明:

在表PersonalMember中查找strloginname字段中含有"["的记录。

可用三条语句:
1、

select  strloginname, *   from  PersonalMember  where  strloginname  like   " %[% "   escape   " "

2、(说明"/"与"/"均可与escape关键字结合作为转义符)

select  strloginname, *   from  PersonalMember  where  strloginname  like   " %/[% "   escape   " / "

3、
select  strloginname, *   from  dbo.PersonalMember  where   charindex ( " [ " ,strloginname) > 0

4、

select  strloginname, *   from  dbo.PersonalMember  where  strloginname   like
" %[[]% "


声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。