• 帆软报表中sql的模糊查询的用法


    模糊查询是利用“_”表示单个字符和“%”表示任意个字符进行匹配的。一些常见的格式如下:

    1.1 “%”:表示任意0个或多个字符

    注:可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示。

    Select * from 表名 where 列名 like '%'; //查询出全部
    Select * from 表名 where 列名 like 'x'; //完全匹配查询
    Select * from 表名 where 列名 like '%x'; //右为x,前面可以有任意位字符
    Select * from 表名 where 列名 like 'x%'; //左为x,后面可以有任意位字符
    Select * from 表名 where 列名 like '%x%'; //中间为x,左右都可以有任意位字符
    #责任人id like'%${userName}%'
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    1.2 “_”:表示单个字符

    Select * from 表名 where 列名 like '_x'; //右为x,前面有一位字符
    Select * from 表名 where 列名 like '__x'; //右为x,前面有两位位字符
    Select * from 表名 where 列名 like 'x__'; //左为x,后面有两位位字符
    
    • 1
    • 2
    • 3

    1.3 “[]”:表示括号内所列字符中的一个

    指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。

    Select * from 表名 where 列名 like '[张李王]三' //将找出“张三”,“李三”,“王三”(而不是“张李王三”);
    
    • 1

    注:如 [ ] 内有一系列字符(01234、abcde之类的)则可略写为“0-4”、“a-e”
    Select * from 表名 where 列名 like ‘老[1-9]’ //将找出“老1”,“老2”,……,“老9”;

    1.4 “[^]”:表示不再括号列中的单个字符

    其取值与[]相同,但它要求所匹配对象为指定字符意外的任一字符。

    Select * from 表名 where 列名 like '[^张李王]三'  //将找出不姓“张”,“李”,“王”的“赵三”,“孙三”等;
    Select * from 表名 where 列名 like '老[^1-4]';  //将排除“老1”到“老4”,寻找“老5”,“老6”、……
    
    • 1
    • 2

    1.5 结合参数的模糊查询

    注:由于通配符的缘故,导致我们查询特殊字符“%”、“_”、“[”的语句无法正常实现,而把特殊字符用“[ ]”括起便可正常查询。

    结合参数的模糊查询(用${name})Select * from 表名 where 列名 like '${name}'Select * from 表名 where 列名 like '%${name}'
    • 1
    • 2
    • 3

    以此类推。
    注:ACCESS的模糊查询比较特殊是’?‘,’*’ 。 如 Select * from 表名 where 列名 like ‘b

  • 相关阅读:
    MSF生成后门木马
    2024年vue 开发环境 Node.js于win10环境下的安装
    Leetcode刷题笔记--Hot81--90
    【Datawhale】AI夏令营第三期——基于论文摘要的文本分类笔记(下)
    基于CCE Kubernetes网络与持久化存储实战
    【Vue】
    dpdk实现dns
    处理过程与工具
    11.WPF绘图
    三月以来5起事故,有限空间作业如何管控?
  • 原文地址:https://blog.csdn.net/Hui_Hong_TaiLang/article/details/133294427