SQL语句中的OR,IN 关键字

来源:百度知道 编辑:UC知道 时间:2024/06/15 15:54:42
下面语句读取数据的结果不正确的:
<%
set rs7=Server.CreateObject("adodb.recordset")
sql7="select * from sg where ttime Like '2008-4%' and name='"&st&"' and pk='完成' or pk='未完成'"
rs7.Open sql7,conn,1,1
counts7=rs7.recordcount
%>
但这句就可以:
<%
set rs7=Server.CreateObject("adodb.recordset")
sql7="select * from sg where ttime Like '2008-4%' and name='"&st&"' and pk='完成'"
rs7.Open sql7,conn,1,1
counts7=rs7.recordcount
%>
我只加了:or怎么就不行了呢?

因为 and 的优先级比 or 大。所以楼上的就用括号括起来了。

sql7="select * from sg where ttime Like '2008-4%' and name='"&st&"' and (pk='完成' or pk='未完成')"

你把本来是同条件的分成了并列关系了,所以要加个夸号

注意优先级的大小