一般模糊语句如下:

SELECT 字段 FROM 表 WHERE 某字段 Like 条件

其中关于条件,SQL提供了四种匹配模式:

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

比如 SELECT * FROM [user] WHERE u_name LIKE '%三%'

将会把u_name为“张三”,“张猫三”、“三脚猫”,“唐三藏”等等有“三”的记录全找出来。

另外,如果需要找出u_name中既有“三”又有“猫”的记录,请使用and条件
SELECT * FROM [user] WHERE u_name LIKE '%三%' AND u_name LIKE '%猫%'

若使用 SELECT * FROM [user] WHERE u_name LIKE '%三%猫%' 
虽然能搜索出“三脚猫”,但不能搜索出符合条件的“张猫三”。

2、_: 表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句:

比如 SELECT * FROM [user] WHERE u_name LIKE '_三_'
只找出“唐三藏”这样u_name为三个字且中间一个字是“三”的;

再比如 SELECT * FROM [user] WHERE u_name LIKE '三__';
只找出“三脚猫”这样name为三个字且第一个字是“三”的;

3、[ ]:表示括号内所列字符中的一个(类似正则表达式)。指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。

比如 SELECT * FROM [user] WHERE u_name LIKE '[张李王]三'
将找出“张三”、“李三”、“王三”(而不是“张李王三”);

如 [ ] 内有一系列字符(01234、abcde之类的)则可略写为“0-4”、“a-e”
SELECT * FROM [user] WHERE u_name LIKE '老[1-9]'
将找出“老1”、“老2”、……、“老9”;

4、[^ ] :表示不在括号所列之内的单个字符。其取值和 [] 相同,但它要求所匹配对象为指定字符以外的任一个字符。

比如 SELECT * FROM [user] WHERE u_name LIKE '[^张李王]三'
将找出不姓“张”、“李”、“王”的“赵三”、“孙三”等;

SELECT * FROM [user] WHERE u_name LIKE '老[^1-4]';
将排除“老1”到“老4”,寻找“老5”、“老6”、……

5、查询内容包含通配符时

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

function sqlencode(str)
str=replace(str,"[","[[]") '此句一定要在最前
str=replace(str,"_","[_]")
str=replace(str,"%","[%]")
sqlencode=str
end function

SQL语句的模糊查询相关推荐

  1. 在JDBC中实现SQL语句的模糊查询

    在JDBC中实现SQL语句的模糊查询 在大多数情况下我们可以在JDBC中写入sql语句通过占位符的方式来直接查询,但是如果要进行模糊查询,需要转义字符才能够正常查询. sql语句: select * ...

  2. java中sql模糊查询_模糊查询的sql语句(java模糊查询sql语句)

    模糊查询的sql语句(java模糊查询sql语句) 2020-07-24 11:06:02 共10个回答 假设表名为product,商品名为name,简界为remark.则可如下写:select[na ...

  3. Java的SQL语句以及模糊查询

    九十四.数据库--sql语言 sql:不区分大小写,用分号结束 DDL:数据定义语言:针对于数据库来说的语言 1.查询当前所有的数据库:SHOW DATABASES;2.新建一个数据库:CREATE ...

  4. Java中SQL语句写模糊查询_到底Java里的模糊查询语句该怎么写

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 现在String sql="select * from car where carName like '%'+?+'%'";可以查询出 ...

  5. MySQL 数据库 like 语句通配符模糊查询小结

    MySQL 报错:Parameter index out of range (1 > number of parameters, which is 0)--MySQL 数据库 like 语句通配 ...

  6. SQL语言_3 模糊查询和聚合函数

    SQL语言_3 模糊查询和聚合函数 作者:田超凡 版权所有,转载请注明原作者,仿冒侵权必究法律责任 1.数据库中查询的机制 查询是针对数据表中已存在的数据行而言的,可以将它简单理解为筛选,将符合条件的 ...

  7. JavaWeb学习笔记(数据库、SQL语句、数据查询语法、完整性约束、编码、备份和恢复数据、多表查询)

    数据库.SQL语句.数据查询语法.完整性约束.编码.备份和恢复数据.多表查询 JavaWeb学习笔记 数据库 数据库概念 基本命令 启动和关闭mysql服务器 客户端登录退出mysql SQL语句 S ...

  8. SQL语句之条件查询--WHERE(where)

    SQL语句之条件查询–WHERE(where) 语法表示 select 查询列表 from表名 where筛选条件 筛选条件分类: 筛选方式 运算符类型 运算符 一,按条件表达式筛选 条件运算符 &g ...

  9. oracle模糊匹配date类型日期,SQL时间类型模糊查询

    SQL时间类型模糊查询 数据库类型为DateTime类型,将其做模糊查询时,在Hibernate中,可以用拼SQL的问题将其解决,即在SQL查询分析器写SQL一样,但是利用参数配置,则方法如下: 1. ...

最新文章

  1. All-in-One 模式安装 KubeSphere 异常问题记录
  2. win10 c盘清理_win10 C盘爆红怎么清理?
  3. Linux之VMware Tools显示灰色正确解决办法
  4. 迁移学习 简而言之_简而言之Java.io:22个案例研究
  5. Linux和Windows互传文件可视化工具lrzsz的安装和使用
  6. [014]模板-模板实参推导
  7. 啥时候js单元测试变的重要起来?
  8. Java程序员必备!Dagger2源码分析(二(1)
  9. USB转ttl驱动CH340
  10. LT8618SX寄存器配置
  11. python + selenium 自动化测试框架
  12. chapter 4 使用Item封装数据
  13. 待办-9月7号-11号(month9week2)
  14. 第二部分 音频压缩编码
  15. ENC28J60电路故障 网络灯不亮
  16. [转载]惯性导航专业相关书籍180多部
  17. 说一下如何下载各论坛免费文档
  18. 技能终将过时,而能力与时俱进
  19. linux下安装mysql客户端client
  20. 【备忘】PROFILE

热门文章

  1. 0xC0000005: 写入位置 0x00000000 时发生访问冲突的解决办法(内存对齐)
  2. Java基础之易错小札
  3. Elsevier 期刊投稿材料的准备 系统投稿流程
  4. 怎么把网址后面的index.php去掉,url index.php 怎么去掉
  5. xp计算机限制打开u盘,禁止xp系统U盘写入文件的四个方法
  6. vue 使用window的对象_如何3分钟把VUE项目打包成apk
  7. 揭秘《双11星秀猫巅峰时刻》功能设计
  8. 命令提示符中遇到——运行XXX时提示“不是内部或外部命令,也不是可运行的程序 或批处理文件
  9. Linux后端服务器网络编程之线程模型丨reactor模型详解
  10. active 工作流