- 浏览: 399799 次
- 性别:
- 来自: 昆明
文章分类
- 全部博客 (198)
- java (28)
- J2EE (19)
- struts (33)
- sping (13)
- hibernate (18)
- mybatis (15)
- connection pool (3)
- DB (26)
- SQL (21)
- html (13)
- js (7)
- json (3)
- jquery (2)
- document (17)
- linux (15)
- C# (1)
- url (2)
- eweb4j (1)
- Turbine (1)
- 框架 (11)
- jdbcTemplate (3)
- aop (2)
- windows (2)
- ubuntu (1)
- eclipse (11)
- JPA (8)
- svn (4)
- get 传值 (2)
- mysql (5)
- oracle (2)
- hadoop (1)
- MongoDB (2)
- spring (1)
- python (1)
最新评论
-
jcbingjc:
楼主,你好,按照上面的配置,我报如下错误:Missing Pe ...
[properJavaRDP]在网页中实现远程连接 -
sucful:
折腾了半天跑不通 ,要传就搞个完整的吧
Struts2 <sx:div/>实现页面模块异步刷新 -
Kattou:
你好! 看了你写的这个分页 感觉很好, 但是不怎么会用么,请指 ...
jsp分页控件 -
我叫PSB:
地址完全用不了
eclipse中的安装 jseclipse -
1111emotion:
我的工程里还是有乱码的情况,我该改的地方都改了。
Eclipse/MyEclipse更改默认字符集 设置UTF-8
_ 与任意单字符匹配
% 与包含一个或多个字符的字符串匹配
[ ] 与特定范围(例如,[a-f])或特定集(例如,[abcdef])中的任意单字符匹配。
[^] 与特定范围(例如,[^a-f])或特定集(例如,[^abcdef])之外的任意单字符匹配。
使用like比较字,加上SQL里的通配符,请参考以下:
a.. LIKE 'Mc%' 将搜索以字母 Mc 开头的所有字符串(如 McBadden)。
b.. LIKE '%inger' 将搜索以字母 inger 结尾的所有字符串(如 Ringer、
Stringer)。
c.. LIKE '%en%' 将搜索在任何位置包含字母 en 的所有字符串(如 Bennet、
Green、McBadden)。
d.. LIKE '_heryl' 将搜索以字母 heryl 结尾的所有六个字母的名称(如 Cheryl、
Sheryl)。
e.. LIKE '[CK]ars[eo]n' 将搜索下列字符串:Carsen、Karsen、Carson 和 Karson
(如 Carson)。
f.. LIKE '[M-Z]inger' 将搜索以字符串 inger 结尾、以从 M 到 Z 的任何单个字
母开头的所有名称(如 Ringer)。
g.. LIKE 'M[^c]%' 将搜索以字母 M 开头,并且第二个字母不是 c 的所有名称(如
MacFeather)。
例子:
? WHERE FirstName LIKE '_im' 可以找到所有三个字母的、以 im 结尾的名字(例如,Jim、Tim)。
? WHERE LastName LIKE '%stein' 可以找到姓以 stein 结尾的所有员工。
? WHERE LastName LIKE '%stein%' 可以找到姓中任意位置包括 stein 的所有员工。
? WHERE FirstName LIKE '[JT]im' 可以找到三个字母的、以 im 结尾并以 J 或 T 开始的名字(即仅有 Jim 和 Tim)
? WHERE LastName LIKE 'm[^c]%' 可以找到以 m 开始的、后面的(第二个)字母不为 c 的所有姓。
LIKE语句的语法格式是:select * from 表名 where 字段名 like 对应值(子串),它主要是针对字符型字段的,它的作用是在一个字符型字段列中检索包含对应子串的。
假设有一个数据库中有个表table1,在table1中有两个字段,分别是name和sex二者全是字符型数据。现在我们要在姓名字段中查询以“张”字开头的记录,语句如下:
select * from table1 where name like "张*"
如果要查询以“张”结尾的记录,则语句如下:
select * from table1 where name like "*张"
这里用到了通配符“*”,可以说,like语句是和通配符分不开的。下面我们就详细介绍一下通配符。
匹配类型
模式
举例 及 代表值
说明
多个字符
*
c*c代表cc,cBc,cbc,cabdfec等
它同于DOS命令中的通配符,代表多个字符。
多个字符
%
%c%代表agdcagd等
这种方法在很多程序中要用到,主要是查询包含子串的。
特殊字符
a
a代表a*a
代替*
单字符
?
b?b代表brb,bFb等
同于DOS命令中的?通配符,代表单个字符
单数字
#
k#k代表k1k,k8k,k0k
大致同上,不同的是代只能代表单个数字。
字符范围
-
[a-z]代表a到z的26个字母中任意一个
指定一个范围中任意一个
续上
排除
[!字符]
[!a-z]代表9,0,%,*等
它只代表单个字符
数字排除
[!数字]
[!0-9]代表A,b,C,d等
同上
组合类型
字符[范围类型]字符
cc[!a-d]#代表ccF#等
可以和其它几种方式组合使用
假设表table1中有以下记录:
name sex
张小明 男
李明天 男
李a天 女
王5五 男
王清五 男
下面我们来举例说明一下:
例1,查询name字段中包含有“明”字的。
select * from table1 where name like '%明%'
例2,查询name字段中以“李”字开头。
select * from table1 where name like '李*'
例3,查询name字段中含有数字的。
select * from table1 where name like '%[0-9]%'
例4,查询name字段中含有小写字母的。
select * from table1 where name like '%[a-z]%'
例5,查询name字段中不含有数字的。
select * from table1 where name like '%[!0-9]%'
以上例子能列出什么值来显而易见。但在这里,我们着重要说明的是通配符“*”与“%”的区别。
很多朋友会问,为什么我在以上查询时有个别的表示所有字符的时候用"%"而不用“*”?先看看下面的例子能分别出现什么结果:
select * from table1 where name like '*明*'
select * from table1 where name like '%明%'
大家会看到,前一条语句列出来的是所有的记录,而后一条记录列出来的是name字段中含有 “明”的记录,所以说,当我们作字符型字段包含一个子串的查询时最好采用“%”而不用“*”,用“*”的时候只在开头或者只在结尾时,而不能两端全由 “*”代替任意字符的情况下。
发表评论
-
SQL匹配度查询
2017-07-18 15:46 1846SELECT (IF(LOCATE('RK', SJXBSF ... -
MariaDB导出导入命令
2017-02-07 09:44 2118导出: mysqldump -h127.0.0.1 -P3 ... -
MySQL 5.7 使用原生JSON类型的例子
2016-12-17 18:13 1391首先回顾一下JSON的语法规则: 数据在键值对中, 数据 ... -
MySQL5.7 配置说明Windows
2016-12-17 18:12 547一、配置文件my.ini的位置 隐藏文件夹:C:\Prog ... -
Oracle建立表空间和用户
2016-06-24 11:30 549Oracle建立表空间和用户 ... -
oracle数据库导入导出命令
2016-06-24 11:01 729Oracle数据导入导出imp ... -
oracle记录
2014-02-21 17:27 86037 oracle记录 create tab ... -
sql优化 mysql优化 检索效率注意20项
2012-07-03 11:19 21231、通配符尽量避免2 ... -
Mysql索引优化
2012-07-02 13:38 1115为什么使用索引 提高查询效率 降低数据排序成分 - - ... -
mysql与mssql的区别
2012-07-02 11:01 2037对于程序开发人员而言 ... -
SQL字符串处理函数大全
2012-04-19 09:36 975select语句中只能使用sql函数对字段进行操作(链接s ... -
Mysql中创建用户帐户的方法
2011-11-16 00:06 11731.CREATE USER CREATE USER ... -
Linux下安装MYSQL 5.0 应该对mysql进行必要设置
2011-11-06 10:52 12471、下载MySQL的安装文件 安 ... -
mysql数据库自动备份与恢复
2011-11-07 12:07 1377创建目录/home/zf/mysqlBack/#添加以下 ... -
mysql基本命令总结
2011-11-07 12:08 1105数据库asb 表yg 一.mysql的常用命 ... -
MySQL中show 句法得到表列及整个库的详细信息(精品珍藏)
2011-11-07 12:08 1049show databases;show tables ... -
MSSQL服务器/数据库角色说明
2011-11-08 08:07 1467七种常用固定服务器角色 系统管理员:拥有SQL SE ... -
MYSQL设置远程用户连接
2011-11-15 08:48 948011年05月21日 星期六 13时25分16秒MySQL安装 ... -
MySQL 用户权限分配 Grant 语法详解
2011-11-16 00:07 2411MySQL 赋予用户权限命令的简单格式可概括为: g ... -
SQL语句实现按关健字模糊查询,并按匹配度排序
2011-11-19 11:54 2277今天有人在CSDN上问,我就随手写了一段. ...
相关推荐
在SQL查询语言中,`LIKE`是一个非常实用的功能,它允许我们在查询时使用通配符来匹配字符串模式。这在处理大量数据时特别有用,可以帮助我们快速定位到满足特定模式的数据行。下面我们将详细介绍`LIKE`语句的基本...
SQL LIKE 用法详解 SQL LIKE 用法是 SQL 语言中一种常用的字符串匹配方式,用于在查询语句...SQL LIKE 用法需要注意时间查询处理方法、特殊字符处理方法和通配符特殊用法,以便正确地使用 LIKE 操作符进行字符串匹配。
下面我们将深入探讨SQL中的两种主要通配符:百分号(%)和下划线(_),以及它们的用法。 1. **百分号(%)**: 百分号通配符 `%` 代表零个、一个或多个任意字符。当你在查询中使用`%`时,它会匹配任何字符串,...
在VC(Visual C++)环境中实现这些查询,你需要创建一个数据库连接,然后使用SQL的`LIKE`操作符结合通配符进行查询。通常,这涉及到使用ODBC(Open Database Connectivity)或者ADO(ActiveX Data Objects)库来执行...
在SQL Server中,通配符主要有四种: "_"、"%"、"[]"和"[^]",每种通配符都有其特定的使用场景和用法。 1. "_"通配符 "_"通配符用来匹配任意单个字符,该符号只能匹配一个字符。它可以放在查询条件的任意位置,且...
2. `*`:在某些SQL方言中(如MySQL),`*`和`%`功能相同,但在标准SQL中,`*`通常用于目录路径或文件名中的通配符,而不是作为LIKE语句的通配符。 3. `?`:代表单个任意字符。例如,`name like 'b?b'`会返回像“brb...
本文将深入探讨`LIKE`语句的使用方法,特别是如何将通配符作为文字进行处理,以及如何利用`ESCAPE`关键字来解决特殊字符的问题。 ### `LIKE`语句的基本用法 `LIKE`语句在SQL查询中用于模式匹配,主要涉及以下两个...
通配符攻击是一种利用SQL Server的特定特性来进行DOS攻击的方法,通过精心构造的搜索查询来过度消耗服务器资源,导致正常的服务请求无法得到响应。为了防范这类攻击,开发者应当注意限制搜索查询中的通配符使用,...
因此,在处理大量数据时,应谨慎使用LIKE,尤其是与通配符配合使用时。 总结一下,LIKE和ORDER BY都是SQL查询中不可或缺的部分。LIKE提供了强大的字符串匹配功能,而ORDER BY则确保了查询结果的有序性。了解它们的...
### SQL优化 '%5400%' LIKE操作符 在数据库查询优化中,SQL语句的编写方式对于查询性能有着至关重要的影响。本文将基于提供的标题、描述和部分内容,深入探讨几种常用的SQL优化策略以及特定场景下的优化技巧。 ###...
SQL中的LIKE操作符允许我们使用通配符来进行模式匹配查询。通配符主要有两种,一是单字符匹配通配符,另一个是多字符匹配通配符。不同的数据库系统中,这些通配符可能有所差异,本文将重点讨论Microsoft Access和SQL...
在SQL结构化查询语言中,LIKE语句有着至关重要的作用。LIKE语句的语法格式是:select * from 表名 where 字段名 like 对应值(子串),它主要是针对字符型字段的,它的作用是在一个字符型字段列中检索包含对应子串的...
本篇文章将深入探讨SQL Server中常见的三种通配符:`_`、`[]` 和 `[^]`,以及如何结合使用`PATINDEX`函数进行更复杂的字符串匹配。 1. **_ 运算符**: `_` 代表一个任意字符。在示例中,`LIKE '_an'` 用于找到...
在SQL中,`LIKE`操作符是用于在查询中执行模糊匹配的关键工具,它结合了通配符来帮助用户寻找符合特定模式的数据。本节主要介绍了三种常用的通配符:百分号`%`、下划线`_`以及方括号`[]`。 6.1 `LIKE`操作符 `LIKE`...
- `LIKE`操作符允许使用通配符进行模糊匹配,例如`'%字段值%'`。 - `TOP N`用于选取前N条记录,`ORDER BY`可用来确定顺序。 - `IN`操作符用于指定一组可能的值,匹配任何在列表中的值。 - `BETWEEN`用于选取介于...
以上就是在SQL中使用通配符进行模糊匹配的基本方法。在实际工作中,这些通配符可以帮助你更灵活地进行数据查询,尤其是在处理大量不确定或部分已知的数据时。不过需要注意的是,虽然通配符查询提供了便利,但它们也...
以下是对标题和描述中提及的通配符及其使用方法的详细说明: 1. `%` (百分号):这个通配符表示零个、一个或多个任意字符。例如,在SQL的LIKE语句中,`LIKE ‘LO%’` 将匹配所有以"LO"开头的字符串,无论其后跟的是...
如果我们想要查询产品名中包含"%"字符的记录,正常的`LIKE`语句`LIKE '%%'`将会返回所有以任何字符开头,以任何字符结尾的记录,因为`%`在这里作为通配符使用。但我们的目标是找到那些名字中真正包含百分号的记录,...