【数据库作业6】SQL练习3 - SELECT(单表查询)

字符匹配

 [NOT] LIKE<匹配串>[ESCAPE<换码字符>]

模糊查询⬆

<匹配串>可以是一个完整的字符串,也可以含有通配符%和 _

%:任意长度(长度可以为0)的字符串
_ :代表任意单个字符。

【例3.29】查询学号为201215121的学生的详细情况。

SELECT *
FROM Student
WHERE Sno LIKE '201215121';

--等价于

SELECT *
FROM Student
WHERE Sno = '201215121';

【例3.30】 查询所有姓刘学生的姓名、学号和性别。

SELECT Sname, Sno, Ssex
FROM Student
WHERE  Sname LIKE '刘%';

在这里插入图片描述
【例3.31】查询姓"刘"且全名为两个汉字的学生的姓名。`

 SELECT Sname
 FROM Student
 WHERE Sname LIKE '刘_';

在这里插入图片描述
【例3.31补充】
数据库字符集为ASCII时,一个汉字需要两个_
数据库字符集为 GBK 时,一个汉字需要一个_
我的SQL字符集使用的是GBK。

【字符集】是多个字符的集合,字符集种类较多,每个字符集包含的字符个数不同,常见字符集名称:ASCII字符集、GB2312字符集、BIG5字符集、 GB18030字符集、Unicode字符集等。计算机要准确的处理各种字符集文字,就需要进行字符编码,以便计算机能够识别和存储各种文字。

另外查资料的时候发现:如果Sname是nchar(10)型,代码应该是

SELECT Sname
FROM Student
WHERE  Sname LIKE '刘__________';  /*九个下划线或者%*/

因为nchar型会自动在名字后面补全空格。

SELECT Sname
FROM Student
WHERE  Sname LIKE 
  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值