两条sql语句的区别

来源:百度知道 编辑:UC知道 时间:2024/05/24 12:25:56
1。select sum(decode(instr(zymc,'社会学'),0,0,cnt)) from test;
2。select sum(cnt) from test where zymc like'%社会学%';
(其中cnt为每次提交的数据量)
问:两条语句解决同样的问题,但是结果不一样,问题出在哪?

问题出在空值上。
select sum(decode(instr(zymc,'社会学'),0,0,cnt)) from test where zymc is null;
看看结果是什么?
而第二条语句zymc like '%社会学%' 如果zymc为空值是查不出来的。

2#是模糊查询,会有偏差的