• 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
  • 相关阅读:
    PHP实现无限极分类
    html2canvas生成并下载图片
    一次线上问题引发的过程回顾和思考,以更换两台服务器结束
    Intellij IDEA启动项目报Command line is too long. Shorten command line for XXXApplication or also for
    mq 消费消息 与发送消息传参问题
    idea 创建不了 java 文件
    Java switch 中如何使用枚举?
    Collections排序
    在idea 设置 git 的用户名
    mongodb添加字段和创建自增主键
  • 原文地址:https://www.cnblogs.com/timy/p/2003798.html
Copyright © 2020-2023  润新知