sql查询奇怪问题

来源:百度知道 编辑:UC知道 时间:2024/06/01 04:21:40
我数据库里面有条数据是
sid id name
18 9 职称外语等级考试
我要同过name和id查询sid
但是问什么
select * from fenlei where id ='9' and name like '%职称外语等级考试%'
可以查询出来
select * from fenlei where id ='9' and name ='职称外语等级考试'
就查询不出结果呢?

应为有空格或乱字符在字段值的尾部或首部。如果是空格,用下面的语句就可以了:
select * from fenlei where id ='9' and ltrim(rtrim(name)) ='职称外语等级考试'
如果是乱字符,恐怕就要用您上面的语句才行。

职称外语等级考试分几个类别的吧,%代表搜索与“职称外语等级考试”相关的任意长度的字符串

下面那个需要加双引号

检查下你表fenlei中 "职称外语等级考试" 里面有没有空格
如"职称外语等级考试 " 可能是你在插入值的时候将空格也插入了

正常正常情况下二种方式都可以查询出同样结果的

可能name里面除“职称外语等级考试”还有空格吧?