还不懂数据库模糊查询?总结7种窍门技巧!

数据库的模糊查询

一、含义
在使用模糊查询时,查询者对查询条件是模糊的,大概的,不特别明确的
模糊查询可以使用关键字或者是通配符来进行,模糊查询基于某个范围内的查询和在某些列举值内的查询。
二、通配符

通配符解释
_一个字符串
%任意长度的字符串
[]括号中所指定范围内的一个字符
^ 不在括号中所指定范围内的任意一个字符
  • _ :一个字符
  • %:任意长度的字符串
  • []:括号中所指定的范围内的一个字符

三、特殊关键字
like in between

四、使用关键字进行模糊查询
(1)查询姓王的学生:
语法:select *from [表名] where [列名] like ’ 要查询的姓名’

select *from [school] where xm like '王%'

(2)查询姓王的并且是2个字的学生:
语法:select *from [表名] where [列名] like ’ 要查询的姓名’

select *from [school] where xm like '王_'

(3)查询姓王的并且是3个字的学生:
语法:select *from [表名] where [列名] like ’ 要查询的姓名’

select *from [school] where xm like '王_ _'

(4)通过身份证来计算ta的出生日期和年龄:
subtring :(字段,从第几个截至,截至到第几个)
语法:select xm,sfz,subtring(字段,从第几个字符开始,截至几个) 别名,当前年份-substring(字段,从第几个字符开始,截至几个)别名 from [表名] (别名自己设置)

select xm,sfz,Substring(sfz,7,4) 出生日期,2020-substring(sfz,7,4)年龄 from [school]

(5)根据根据例(4)来模糊查询年龄16,17,18的学生:
语法:Select [姓名],[身份证],substring([身份证],7,4)出生日期,2020-substring([身份证],7,4) 年龄from school where(2020-substring([身份证],7,4)) IN(16,17,18)

select xm,sfz,Substring(sfz,7,4) 出生日期,2020-substring(sfz,7,4)年龄 from [school] where (2020-substring(sfz,7,4)) in(16,17,18)

(6)根据例(4)来模糊查询年龄8–100岁以内的人:

select xm,sfz,substring(sfz,7,4) 出生日期,2020-substring(sfz,7,4)年龄 from [school] where (2020-substring(sfz,7,4)) between 8 and 100

(7)如何查找是否有信息未填写:

select xm,sfz,substring(sfz,7,4)出生日期,2020-substring(sfz,7,4)年龄 from*[school] where [sfz] is null
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值