• SQL SERVER 的模糊查询 LIKE


    今天写个动态脚本,需要把数据库里面包含“USER_"的表删除掉,突然想不起来如何搜索通配字符了,赶紧查查MSDN,整理了下模糊查询的知识点,留着以后查阅用。

     

    LIKE模糊查询的通配符

    通配符

    说明

    示例

    %

    包含零个或多个字符的任意字符串。

    WHERE title LIKE '%computer%' 将查找在书名中任意位置包含单词 "computer" 的所有书名。

    _(下划线)

    任何单个字符。

    WHERE au_fname LIKE '_ean' 将查找以 ean结尾的所有 4 个字母的名字(Dean、Sean等)

    [ ]

    指定范围 ([a-f]) 或集合([abcdef]) 中的任何单个字符。

    WHERE au_lname LIKE '[C-P]arsen' 将查找以 arsen 结尾并且以介于 C 与 P 之间的任何单个字符开始的作者姓氏,例如Carsen、Larsen、Karsen 等。在范围搜索中,范围包含的字符可能因排序规则的排序规则而异。

    [^]

    不属于指定范围 ([a-f]) 或集合([abcdef]) 的任何单个字符。

    WHERE au_lname LIKE 'de[^l]%' 将查找以de 开始并且其后的字母不为 l 的所有作者的姓氏。

     

    搜索通配符字符

    在模糊查询中,我们需要查询包含通配符%, _之类的字符,比如我需要查询表名包含"user_"的表,我们可以用下面两种方法。

    SELECT * FROM   sysobjects WHERE xtype = 'U' AND name LIKE '%user/_%' ESCAPE '/'
    SELECT * FROM   sysobjects WHERE xtype = 'U' AND name LIKE '%user[_]%' 

     

    将通配符作为文字使用

    可以将通配符模式匹配字符作为文字字符使用。若要将通配符作为文字字符使用,请将通配符放在方括号中。下表显示了几个使用 LIKE 关键字和 [ ]通配符的示例。

    符号

    含义

    LIKE '5[%]'

    5%

    LIKE '[_]n'

    _n

    LIKE '[a-cdf]'

    a、b、c、d 或 f

    LIKE '[-acdf]'

    -、a、c、d 或 f

    LIKE '[ [ ]'

    [

  • 相关阅读:
    tornado硬件管理系统-数据存储与表格实时监控(8)
    db2 内存研究
    Oracle dml开始到commit期间的流程
    用户界面与业务逻辑的分离
    计算器核心算法——终结版
    计算器核心算法——中缀表达式转为后缀表达式
    计算器核心解析算法(上)
    Qt中的字符串类
    初探Qt中的消息处理
    计算器界面代码重构
  • 原文地址:https://www.cnblogs.com/gallen-n/p/5594233.html
Copyright © 2020-2023  润新知