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

     
    如果想查找“_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
  • 相关阅读:
    C# Log4.Net日志组件的应用系列(二)
    C# Log4.Net日志组件的应用系列(一)
    使用TFS+GIT实现分布式项目管理
    动软代码生成器使用教程
    SVN使用教程
    windows系统重装流程
    使用纯真IP库获取用户端地理位置信息
    使用扩展方法重写.NET底层架构
    使用单例模式创建模型仓储层的唯一调用
    使用SQL Delta.v5.1.1.98.破解版同步数据结构
  • 原文地址:https://www.cnblogs.com/timy/p/2003798.html
Copyright © 2011-2022 走看看