SQL语句的模糊查询
一般模糊语句如下:
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语句的模糊查询相关推荐
- 在JDBC中实现SQL语句的模糊查询
在JDBC中实现SQL语句的模糊查询 在大多数情况下我们可以在JDBC中写入sql语句通过占位符的方式来直接查询,但是如果要进行模糊查询,需要转义字符才能够正常查询. sql语句: select * ...
- java中sql模糊查询_模糊查询的sql语句(java模糊查询sql语句)
模糊查询的sql语句(java模糊查询sql语句) 2020-07-24 11:06:02 共10个回答 假设表名为product,商品名为name,简界为remark.则可如下写:select[na ...
- Java的SQL语句以及模糊查询
九十四.数据库--sql语言 sql:不区分大小写,用分号结束 DDL:数据定义语言:针对于数据库来说的语言 1.查询当前所有的数据库:SHOW DATABASES;2.新建一个数据库:CREATE ...
- Java中SQL语句写模糊查询_到底Java里的模糊查询语句该怎么写
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 现在String sql="select * from car where carName like '%'+?+'%'";可以查询出 ...
- MySQL 数据库 like 语句通配符模糊查询小结
MySQL 报错:Parameter index out of range (1 > number of parameters, which is 0)--MySQL 数据库 like 语句通配 ...
- SQL语言_3 模糊查询和聚合函数
SQL语言_3 模糊查询和聚合函数 作者:田超凡 版权所有,转载请注明原作者,仿冒侵权必究法律责任 1.数据库中查询的机制 查询是针对数据表中已存在的数据行而言的,可以将它简单理解为筛选,将符合条件的 ...
- JavaWeb学习笔记(数据库、SQL语句、数据查询语法、完整性约束、编码、备份和恢复数据、多表查询)
数据库.SQL语句.数据查询语法.完整性约束.编码.备份和恢复数据.多表查询 JavaWeb学习笔记 数据库 数据库概念 基本命令 启动和关闭mysql服务器 客户端登录退出mysql SQL语句 S ...
- SQL语句之条件查询--WHERE(where)
SQL语句之条件查询–WHERE(where) 语法表示 select 查询列表 from表名 where筛选条件 筛选条件分类: 筛选方式 运算符类型 运算符 一,按条件表达式筛选 条件运算符 &g ...
- oracle模糊匹配date类型日期,SQL时间类型模糊查询
SQL时间类型模糊查询 数据库类型为DateTime类型,将其做模糊查询时,在Hibernate中,可以用拼SQL的问题将其解决,即在SQL查询分析器写SQL一样,但是利用参数配置,则方法如下: 1. ...
最新文章
- All-in-One 模式安装 KubeSphere 异常问题记录
- win10 c盘清理_win10 C盘爆红怎么清理?
- Linux之VMware Tools显示灰色正确解决办法
- 迁移学习 简而言之_简而言之Java.io:22个案例研究
- Linux和Windows互传文件可视化工具lrzsz的安装和使用
- [014]模板-模板实参推导
- 啥时候js单元测试变的重要起来?
- Java程序员必备!Dagger2源码分析(二(1)
- USB转ttl驱动CH340
- LT8618SX寄存器配置
- python + selenium 自动化测试框架
- chapter 4 使用Item封装数据
- 待办-9月7号-11号(month9week2)
- 第二部分 音频压缩编码
- ENC28J60电路故障 网络灯不亮
- [转载]惯性导航专业相关书籍180多部
- 说一下如何下载各论坛免费文档
- 技能终将过时,而能力与时俱进
- linux下安装mysql客户端client
- 【备忘】PROFILE
热门文章
- 0xC0000005: 写入位置 0x00000000 时发生访问冲突的解决办法(内存对齐)
- Java基础之易错小札
- Elsevier 期刊投稿材料的准备 系统投稿流程
- 怎么把网址后面的index.php去掉,url index.php 怎么去掉
- xp计算机限制打开u盘,禁止xp系统U盘写入文件的四个方法
- vue 使用window的对象_如何3分钟把VUE项目打包成apk
- 揭秘《双11星秀猫巅峰时刻》功能设计
- 命令提示符中遇到——运行XXX时提示“不是内部或外部命令,也不是可运行的程序 或批处理文件
- Linux后端服务器网络编程之线程模型丨reactor模型详解
- active 工作流