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 模糊查询 只能通过 like

sql语句中怎么实现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语句中怎么实现in中的模糊查询

想要用MFC操作excel文件,有些问题向大侠们请教!

请教怎么写跨库查询的SQL语句

SQL模糊查询语句怎么写啊

sql语句模糊查询的问题?

SQL语句中模糊查询中不区分大小写怎么写?如:select × from table where number like‘%PK%’