请求一句sql查询语句

来源:百度知道 编辑:UC知道 时间:2024/09/23 07:06:00
sqltext="select * from ddd where a1 like '%"&keyword&"%' or a2 like '%"&keyword&"%' or a3 like '%"&keyword&"%' and a3 <>null order by date1 desc"

说明:
本想a1 a2 a3字段中包含关键字的记录并且满足a3 不能为空 可以查询出来

但现在的情况是:没有满足a3不能为空都可以查询出来了..

求高手指点..

select * from ddd where (a1 like '%"&keyword&"%' or a2 like '%"&keyword&"%' or a3 like '%"&keyword&"%') and a3 <>null order by date1 desc

sqltext="select * from ddd where (a1 like '%"&keyword&"%' or a2 like '%"&keyword&"%' or a3 like '%"&keyword&"%') and a3 <>null order by date1 desc"

这样

优先级问题。SQL的优先级not>and>or
('%"&keyword&"%' or a2 like '%"&keyword&"%' or a3 like '%"&keyword&"%') and a3 <>null
加个括号试试

如楼上所述:优先级问题,SQL的优先级not>and>or
sqltext="
select *
from ddd
where (a1 like '%"&keyword&"%' or a2 like '%"&keyword&"%' or a3 like '%"&keyword&"%') and a3 is not null
order by date1 desc
"
附加意见:语句最好能按我上面的饿格式写,比较直观,且容易查错!