TA的每日心情 | 开心 2021-3-12 23:18 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
“_”通配符(下载表数据)
“_”通配符的功能与“%”通配符基本相同,只是它只表示任意一个字符的匹配。当然,要表示两个字符的匹配,就需要使用两个“_”通配符,即写成“__”。
只有在用户确定所要查询的字符串的个数,只是不确定其中的一个或几个字符的确切值时,才能使用“_”通配符。
实例 使用“_”通配符查询课程名有5个字且以“计算机”开始的课程
在COURSE表中查询所有以“计算机”开头且只有5个文字的所有课程的课程名(CNAME)、人数(SCOUNT)以及考试时间(CTEST)信息。
实例代码: SELECT CNAME, SCOUNT, CTEST FROM COURSE WHERE CNAME LIKE "计算机__" ORDER BY CNAME
运行结果如图所示。 
与“%”通配符相似,“_”通配符可以用在字符串的任意位置。当然,如果用户只知道要查询的字符串个数,而不能确定其中任何一个字符时,也可以使用“_”通配符。
实例 使用“_”通配符查询课程名为6个字的所有课程
在COURSE表中查询所有课程名为6个字的所有课程的课程名(CNAME)、人数(SCOUNT)以及考试时间(CTEST)信息。实例代码: SELECT CNAME, SCOUNT, CTEST FROM COURSE WHERE CNAME LIKE "______" ORDER BY CNAME
此时发现,不仅包含课程名6个字的所有课程,而且课程名少于6个字的记录也被列入查询结果表中,这一点也是实际应用中经常被会忽略的问题。如查询字符串“计算机_”时,如果有条记录为“计算机”,则它也被认为是符合查询条件的。因此,上例正确的SQL代码如下。 SELECT CNAME, SCOUNT, CTEST FROM COURSE WHERE CNAME LIKE "______"AND NOT CNAME LIKE "_____" ORDER BY CNAME |
|