免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1637 | 回复: 0
打印 上一主题 下一主题

SQL搜索含通配符的字符串 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-04-23 15:27 |只看该作者 |倒序浏览

一、搜索通配符字符的说明
可以搜索通配符字符。有两种方法可指定平常用作通配符的字符:
  • 使用 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

    '%[[]%'

    本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/46451/showart_574036.html
  • 您需要登录后才可以回帖 登录 | 注册

    本版积分规则 发表回复

      

    北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
    未成年举报专区
    中国互联网协会会员  联系我们:huangweiwei@itpub.net
    感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

    清除 Cookies - ChinaUnix - Archiver - WAP - TOP