mssql中一个简单的模糊查询语句怎么写请教大侠们
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mssql中一个简单的模糊查询语句怎么写请教大侠们相关的知识,希望对你有一定的参考价值。
使用SQL 通配符可以替代一个或多个字符,即模糊查询。
SQL 通配符必须与 LIKE 运算符一起使用。在 SQL 中,可使用以下通配符如下:
1、% 替代一个或多个字符
2、_ 仅替代一个字符
3、[charlist] 字符列中的任何单一字符
4、[^charlist]或者[!charlist] 不在字符列中的任何单一字符
以图中表格为例,说明一下各通配符用法
1、 查询居住在以 "Ne" 开始的城市里的人:
SELECT * FROM Persons WHERE City LIKE \'Ne%\'
2、查询居住在包含 "lond" 的城市里的人:
SELECT * FROM Persons WHERE City LIKE \'%lond%\'
3、查询名字的第一个字符之后是 "eorge" 的人:
SELECT * FROM Persons WHERE FirstName LIKE \'_eorge\'
4、查询记录的姓氏以 "C" 开头,然后是一个任意字符,然后是 "r",然后是任意字符,然后是 "er":
SELECT * FROM Persons WHERE LastName LIKE \'C_r_er\'
5、查询居住的城市以 "A" 或 "L" 或 "N" 开头的人:
SELECT * FROM Persons WHERE City LIKE \'[ALN]%\'
6、查询居住的城市不以 "A" 或 "L" 或 "N" 开头的人:
SELECT * FROM Persons WHERE City LIKE \'[!ALN]%\'
参考技术A select * from 表名 where 字段名 like '%参数%' 参考技术B 模糊查询 只能通过 likesql语句中怎么实现in中的模糊查询
现在有这么一个问题,有一个phone的字段,我想提取哪些是移动的号码,于是想按号段查询... where phone in ('134%','135%'....);但发现in方法中用不了模糊查询,而用like or的方法又太麻烦,毕竟号段有十几个,所以有没有什么简单的方法,求教?
1、开启数据库管理工具,打开SQL语言编写窗体。
2、如果我们知道某字段的开头部分,我们可以用 like ‘xx%' select TOP 10 * from CK_ATE where Model like 'PSM24W%'。
3、如果我们知道某字段的中间部分,可以使用 like ‘%xx%’select TOP 10 * from CK_ATE where Model like '%24W%'。
4、如果我们知道某字段的结尾部分,我们库使用 like '%xx'select TOP 10 * from CK_ATE where Model like '%-R-FA1'。
5、补充一 上例中的 "like" 是模糊查询的关键词。
6、补充二 、 模糊查询可能涉及比较大的数据量,为避免查询时把数据库资源耗尽,我们加上一些限制条件 比如 前10行 top 10。
参考技术A where substr(phone,0,3) in ('134','135');通过截取phone的前三位,要学会变通本回答被提问者采纳 参考技术B 模糊查询要活用啊
where phone like '13[45]%'
这样可以去除134或135开头的数据 参考技术C substring(phone,1,3) in ('134','135',...) 参考技术D where left(phone,3) in ('134','135'……)
以上是关于mssql中一个简单的模糊查询语句怎么写请教大侠们的主要内容,如果未能解决你的问题,请参考以下文章
SQL语句中模糊查询中不区分大小写怎么写?如:select × from table where number like‘%PK%’