重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这是最简便的写法,还有就是通过select嵌套子查询,相当于每个关键词查找一次临时表结果。
创新互联-专业网站定制、快速模板网站建设、高性价比惠水网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式惠水网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖惠水地区。费用合理售后完善,十载实体公司更值得信赖。
根据你的问题描述,你所需要的模糊查询的正确写法有如下几种:
1、查询以某字符开头的数据
例如,查询teacher表中[姓名]字段所有以'李'开头的记录可写为:
select * from teacher where 姓名 like '李%'
2、查询以某字符结尾的数据
例如,查询teacher表中[姓名]字段所有以'李'结尾的记录可写为:
select * from teacher where 姓名 like '%李'
3、查询包含某字符的数据
例如,查询teacher表中[姓名]字段所有包含'李'的记录(不论该字符在开头、结尾、中间)可写为:
select * from teacher where 姓名 like '%李%'
注:以上SQL写法是通用性的写法,像Oracle、Sqlserver、Mysql等数据库都是支持的。
拓展资料
SQL语句的各种模糊查询:
一、语法:
SELECT 字段 FROM 表 WHERE 某字段 Like 条件
二、关于语法中的条件,SQL提供了四种匹配模式:
1、%:表示任意0个或多个字符。可匹配任意类型和长度的字符。
2、_: 表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句。
3、[ ]:表示括号内所列字符中的一个(类似正则表达式)。指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。
4、[^ ] :表示不在括号所列之内的单个字符。其取值和 [] 相同,但它要求所匹配对象为指定字符以外的任一个字符。
5、查询内容包含通配符时:由于通配符的缘故,导致我们查询特殊字符“%”、“_”、“[”的语句无法正常实现,而把特殊字符用“[ ]”括起便可正常查询。
SQL模糊查询,使用like比较字,加上SQL里的通配符,请参考以下:
1、LIKE'Mc%'
将搜索以字母
Mc
开头的所有字符串(如
McBadden)。
2、LIKE'%inger'
将搜索以字母
inger
结尾的所有字符串(如
Ringer、Stringer)。
3、LIKE'%en%'
将搜索在任何位置包含字母
en
的所有字符串(如
Bennet、Green、McBadden)。
4、LIKE'_heryl'
将搜索以字母
heryl
结尾的所有六个字母的名称(如
Cheryl、Sheryl)。
5、LIKE'[CK]ars[eo]n'
将搜索下列字符串:Carsen、Karsen、Carson
和
Karson(如
Carson)。
6、LIKE'[M-Z]inger'
将搜索以字符串
inger
结尾、以从
M
到
Z
的任何单个字母开头的所有名称(如
Ringer)。
7、LIKE'M[^c]%'
将搜索以字母
M
开头,并且第二个字母不是
c
的所有名称(如MacFeather)。
-------------------------------------------------
呵呵,要完整的例句啊。下面这句查询字符串是我以前写的,根据变量
zipcode_key
在邮政编码表
zipcode
中查询对应的数据,这句是判断变量
zipcode_key
为非数字时的查询语句,用
%
来匹配任意长度的字符串,从表中地址、市、省三列中查询包含关键字的所有数据项,并按省、市、地址排序。这个例子比较简单,只要你理解了方法就可以写出更复杂的查询语句。
sql
=
"select
*
from
zipcode
where
(address
like'%"
zipcode_key
"%')
or
(city
like'%"
zipcode_key
"%')
or
(province
like'%"
zipcode_key
"%')
order
by
province,city,address"
declare @str varchar(max)='6688 sasaaaa wty',@sql varchar(max)
set @sql='select * from mingTest where 1=0 '
;with cte as(select name=SUBSTRING(A.[str],number,CHARINDEX(' ',A.[str]+' ',number)-number) from A JOIN master..spt_values ON type='p' and number between 1 and LEN(@str)
WHERE CHARINDEX(' ',' '+A.[str],number)=number)
select @sql=@sql+'or [str] like ''%'+name+'%''' from cte where name''
EXEC @sql
你这条语句的意思是:查找name字段中包含字符str的值,如果str是要用户传进来话,需要用sql拼接技术。
String str="jack";
String sql=" select e from educate as e where e.name like '% "+ str +" %' ";
ps.preparedStatement(sql);
应该这么写才对。
1、先打开SQL Server数据库并连接。
2、然后找到目标数据库,右键并点击“属性”。
3、在弹出的属性窗口左侧“选择页”中选择“文件”选项卡。
4、然后在右侧窗体中即可看到相应内容了:逻辑名称是数据文件及日志文件的文件名,路径就是其所在位置了。
5、如图,就是相应的.mdf和.ldf文件。