1樓:匿名使用者
這是邏輯運算子優先次序沒交代清楚所導致的。
按照提問中的**篩選邏輯,系統會檢索出"喝奶時間"為'早' 且"訂奶類別"為'250ml巴士氏鮮奶'的記錄,或者"訂奶類別"為'500ml巴氏鮮奶'的記錄。第一個是雙條件篩選,第二個是單條件篩選,只要是500ml巴氏鮮奶,不管它是早或晚,只要是500毫升的就能被查出來。
為了將'晚'篩選掉,建議使用括號來區分優先順序別,**修改如下:
select * from 送奶資訊 where 喝奶時間='早' and (訂奶類別='250ml巴氏鮮奶' or 訂奶類別='500ml巴氏鮮奶');
這樣喝奶時間為'晚'的記錄就會被篩選掉了。
2樓:匿名使用者
你忘了加括號
select * from 送奶資訊 where 喝奶時間='早'and (訂奶類別='250ml巴氏鮮奶'or 訂奶類別='500ml巴氏鮮奶')
若果你不加這個括號,他就認為符合or條件前後任意一個即可,也就是相當於
where (喝奶時間='早'and 訂奶類別='250ml巴氏鮮奶') or 訂奶類別='500ml巴氏鮮奶'
後面條件訂奶類別='500ml巴氏鮮奶'肯定包含了早和晚。
sql中模糊查詢一列包含另一列的資料,請高手指導,謝謝!
3樓:匿名使用者
具體什麼資料庫?不同資料庫用到的函式不太一樣,請說明。
4樓:匿名使用者
select * from sheet where beizhu like '%'+macadress+'%'
5樓:騰訊電腦管家
thisobj.classname = "active";
document.getelementbyid(tabobj+"_content"+i).style.display = "block";
}else
6樓:阿
select * from sheet where charindex(macaddress,beizhu)>0
7樓:匿名使用者
select a.beizhu,b.macadress from 表 a,表 b where a.beizhu like '%'+b.macadress+'%'
8樓:春雨送秋風
select * from 表名 where beizhu like '%'+macadress+'%'
sql語句中cast()函式可以把varchar型別轉換成int型別嗎?請大神指導,謝謝
9樓:匿名使用者
如果varchar型別值是數字之類的,可以轉成int,如果是字元之類的就轉不了
sql中,count的用法,關於SQL中count的用法
count 返回集合中專案的數量 具體數目取決於集合 語法維度 dimensions.count 返回多維資料集中的維度數,其中包括 measures 維度。級別 dimension hierarchy levels.count 返回維度或層次結構中的級別數,包括 all 級別 如果適用 集合 語法...
Sql語句的TOP用法,sql查詢語句 top n的用法
select top 1 from table select top 1 2 from table 取前3行資料 區別就是 裡面可以是個表示式 沒有區別個人的習慣 在sqlserver2000中top後只可以跟常數,在2005後可以跟變數了 也許唯一的區別就是top expression 括號中可以...
sql中和的區別sql中all和in的區別
一 區別 sql中 符號為對變數賦值 符號為if等條件判斷中使用 以下為示例演示,1 編回寫答sql指令碼,declare v1 varchar2 20 v2 varchar2 20 begin v1 10 v2 20 if v1 10 then dbms output.put line v1 10...