zoukankan      html  css  js  c++  java
  • SQL查询中的转义字符

    转载自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'/'

    通配符含义
    % 包含零个或更多字符的任意字符串。
    _ 任何单个字符。
    [ ] 指定范围(例如 [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 ']' ]

    例子:
    select * from T_DataVersion where VersionName like '%2[%]%'
     select * from T_DataVersion where VersionName like '%2/%%' ESCAPE '/'
    查找VersionName 中包含2%字符串的数据
    VerSionID UserID VersionName DataCode UpLoadDate IntegerStep
    V20081229001 104 V200812%29001 A0001 2009-12-29 00:00:00.000 NULL
  • 相关阅读:
    【POJ 1958】 Strange Towers of Hanoi
    【HNOI 2003】 激光炸弹
    【POJ 3263】 Tallest Cow
    【POJ 2689】 Prime Distance
    【POJ 2777】 Count Color
    【POJ 1995】 Raising Modulo Numbers
    【POJ 1845】 Sumdiv
    6月16日省中集训题解
    【TJOI 2018】数学计算
    【POJ 1275】 Cashier Employment
  • 原文地址:https://www.cnblogs.com/BluceLee/p/9963051.html
Copyright © 2011-2022 走看看