[转载]SQL中通配符、转义符与"["号的使用

孤人 提交于 2019-11-27 04:42:48

作者:slick 日期:2007年1月30日

转自:http://blog.hnce.net/post/317.html

 

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

 

一、搜索通配符字符的说明

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

  • 使用 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
'%[[]%'

转载于:https://www.cnblogs.com/xinerzhui/archive/2008/11/05/1327002.html

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!