在数据库系统概论第四版第三章96页的字符匹配当中指出,_(下划线)代表任意单个字符。根据书中前面的sql语句建立表格,并插入数据,执行查找姓刘的同学的记录
USE school
GO
SELECT *
FROM Student
WHERE Sname LIKE '刘_';
结果如下:
现在没有任何问题,是我们想要的结果,但是如果多打一个_(下划线)结果会是什么样呢?
原本应该只匹配三个字的Sname 的记录才输出,然而两个字的Sname的记录也输出了。
这结果让人感觉很蛋疼,为什么会是这个结果呢?我觉得这是这本的bug。那么问题究竟出来哪呢?
我们看一下建表的语句以及定义的数据类型:
CREATE TABLE Student --create student table
(