zoukankan      html  css  js  c++  java
  • SQL Server:SQL Like 通配符特殊用法:Escape

    SQL Server:SQL Like 通配符特殊用法:Escape

    [作/译者]:鹏城万里    [日期]:2008-09-01    [来源]:本站原创    [查看]: 5003

    【鹏城万里】 发表于 www.sqlstudy.com

    %:匹配零个及多个任意字符; _:与任意单字符匹配; []:匹配一个范围; [^]:排除一个范围

    SymbolMeaning
    like '5[%]' 5%
    like '[_]n' _n
    like '[a-cdf]' a, b, c, d, or f
    like '[-acdf]' -, a, c, d, or f
    like '[[]' [
    like ']' ]
    like 'abc[_]d%' abc_d and abc_de
    like 'abc[def]' abcd, abce, and abcf
    like '[^1-9]' 0
    like '[^1-9b-z]' 0, a

    对于字符串中出现的特殊字符:'%','[','[]', '_' 可以使用 '[]' 把它们包含起来,这样在匹配模式(pattern)中,它们就被当作普通字符对待了。

    1. 用 like '[[]' 匹配特殊字符 '['

    select 1 where '[ABCDE' like '[[]%'

    2. 用 like ']' 匹配特殊字符 ']'

    select 1 where ']ABCDE' like ']%'

    3. 用 like '[[]]' 匹配特殊字符 '[]'

    select 1 where '[]ABCDE' like '[[]]%%'

    4. 用 like '[_]' 匹配特殊字符 '_'

    select 1 where '_ABCDE' like '[_]%'

    5. 用 like '[%]' 匹配特殊字符 '%'

    select 1 where 'ABC%DE' like 'ABC[%]DE'

    对于其他的特殊字符:'^', '-', ']' 因为它们本身在包含在 '[]' 中使用,所以需要用另外的方式来转义,于是就引入了 like 中的 escape 子句,另外值得注意的是:escape 可以转义所有的特殊字符。

    select 1 where '^ABCDE' like '!^ABCDE' escape '!'
    select 1 where '-ABCDE' like '!-ABCDE' escape '!'
    select 1 where ']ABCDE' like '!]ABCDE' escape '!'
    
    select 1 where '%ABCDE' like '\%ABCDE' escape '\'
    select 1 where '%ABCDE' like '!%ABCDE' escape '!'
    select 1 where '%ABCDE' like '#%ABCDE' escape '#'
    select 1 where '%ABCDE' like '@%ABCDE' escape '@'
    
    select 1 where '[ABCDE' like '![ABCDE' escape '!'
    select 1 where ']ABCDE' like '!]ABCDE' escape '!'
    

    看出规律了吧,就是用 escape 后面紧跟着的字符来做转义字符。 escape 后面的字符相当于 C 语言字符串中的转义字符 '\'。

    最后,看一个更加复杂的匹配

    select 1 where '[^A-Z]ABCDE' like '\[\^A\-Z\]%' escape '\'
    
  • 相关阅读:
    每天一个linux命令(25):linux文件属性详解
    每天一个linux命令(24):Linux文件类型与扩展名
    每天一个linux命令(23):Linux 目录结构
    每天一个linux命令(22):find 命令的参数详解
    每天一个linux命令(21):find命令之xargs
    每天一个linux命令(20):find命令之exec
    每天一个linux命令(19):find 命令概览
    Unity3D自己常用代码
    Unity导入FBX自动进行动画切分
    Unity和虚幻的比较
  • 原文地址:https://www.cnblogs.com/weaver1/p/2302378.html
Copyright © 2011-2022 走看看