SQL LIKE 通配符随笔

通配符 说明

_    与任意单字符匹配
 
%    与包含一个或多个字符的字符串匹配
 
[ ]  与特定范围(例如,[a-f])或特定集(例如,[abcdef])中的任意单字符匹配。
 
[^]  与特定范围(例如,[^a-f])或特定集(例如,[^abcdef])之外的任意单字符匹配。

例子:

? 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 的所有姓。

查询带有单引号的   数据

例如:要查  数据含有   ‘123’  的数据   (包括单引号)

where  字段 like  ‘%‘‘123‘‘%‘     (123旁边不是双引号  是 两个单引号  相当于  用  \  转义 ‘ )

时间: 2024-11-11 22:46:45

SQL LIKE 通配符随笔的相关文章

Sql Server 语句随笔

例1 对于两个或更多的销售员的销售点,计算其中所有销售员的总销售目标值和销售员金额. select city,sum(QUOTA),sum(SALESREPS.SALES) from OFFICE,SALESREPS group by CITY having count(*)>=2 例2 (1) 单行insert语句 单行insert语句用于向一关系表中添加一行新数据.其使用格式如下: insert into <表名> (列名列表) values (列值列表) (2) 多行insert语

Sql Like 通配符 模糊查询技巧及特殊字符

1. SQL like对时间查询的处理方法 SQL数据表中有savetime(smalldatetime类型)字段,表中有两条记录,savetime值为:2005-3-8 12:12:00和2005-6-6 14:02:02 我用下面语句什么也搜不出来 select * from soft where soft.savetime like'%2005-3-8%' SQL帮助中说: "当搜索 datetime 值时,推荐使用 LIKE,因为 datetime 项可能包含各种日期部分.例如,如果将值

SQL Server 通配符 Wildcard character

SQL Server 通配符 Wildcard character %        任意长度的字符串,如:'%computer%' _        单个字符,如:'_ean' []        指定范围内的单个字符,如:'[C-P]arsen' [^]        任意单个字符,但不在指定范围内,如:'[^C-P]'

SQL之通配符过滤

操作符like 通配符本是实际是SQL的where子句中有特殊含义的字符,SQL支持几种通配符.为了在搜索子句里使用通配符,必须使用like操作符. 1.%通配符 %表示出现任意次数的任意字符 找出fish开头的产品. select prod_id,prod_name from Products where prod_name like "Fish%"; 找出中间有fish的产品 select prod_id,prod_name from Products where prod_nam

SQL的通配符

在搜索数据库中的数据时,您可以使用 SQL 通配符. SQL 通配符 在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符. SQL 通配符必须与 LIKE 运算符一起使用. 在 SQL 中,可使用以下通配符: 通配符 描述 % 替代一个或多个字符 _ 仅替代一个字符 [charlist] 字符列中的任何单一字符 [^charlist] 或者 [!charlist] 不在字符列中的任何单一字符 原始的表 (用在例子中的): Persons 表: Id LastName FirstName

mysql中sql注入的随笔

当使用如下登录代码时:就会引发sql注入问题 怎么注入呢? 'or 1=1 # 就可以了. 为什么呢? 首先or:在sql中是或者,只要满足前一个或后一个条件即可,只要所以不论你是 'or 1=1 #还是 'or 2=2 #,都可以. #: 是注释的意思,在sql中注释掉后面的密码判断. 所以这一段不用不用密码即可输入成功, 怎么办呢? 在php中,可以有很多方法....就不举例了. <!doctype html> <html lang="ch"> <he

SQL利用通配符进行模式查询

Like运算符中使用的通配符列表 通配符 说明 % 零个或多个字符 _ 任何单一字符 [] 在指定那个区域或集合内的任何单一字符 [^] 不在指定区域或集合内的任何单一字符 1.包含字符mr的任何文本:Like‘%mr%’ 2.以字符mr开头的任何文本:Like'mr%' 3.以字符mr结尾的任何文本:Like'%mr' 4.取字符mr和单个任意前缀字符:Like'mr_' 5.取字符mr和单个任意前缀字符:Like'_mr' 6.以字符m或r开头的任何文本:Like'[mr]%' 7.结尾为s

【SQL】 通配符

1. % : 替代一个或多个字符 2. _ : 仅替代一个字符 3. [] : 字符列中的任何单一字符 4. [^charlist] 或者 [!charlist]  : 不在字符列中的任何单一字符 5. ESCAPE  : 定义转义符,将通配符转换成普通字符 (本文的重点,刚好项目中遇到以通配符为查询条件,发现语句没问题但数据查不出来,百度后发现是通配符的问题,以此记录) 语句 : ESCAPE 定义 \ 为转义符, WHERE 中的 % 不再是通配符,只是普通字符,即搜索以 % 开头的数据 S

SQL Server 通配符为目标字符的查找

create table t(x int identity(1,1) primary key,v nvarchar(32));go insert into t(v) values('this is % line'),('this is 1 line'); 我们的目标是找到'this is % line' 这一行. select x,v from t where v like'%\%%' escape '\'; 第一个'%'用来匹配%前的串. 第二个'%'用来匹配串中的%. 第三个'%'用来匹配%