二月初三辛丑年 牛辛卯月 壬戌日
好多天沒更博了,為啥呢,因為我的需求上線了,然後又被bibibi了,其中各種心酸背鍋以及瑟瑟發抖。。。天吶
回來繼續說,今天乙個sql的修改:
需求是這樣的:在乙個日期範圍內(2020-03-01至2021-03-12)查詢人員型別為(「1003%」、「1004%」、「1006%」)的資料。
1、我原來錯誤的寫法為:
當我查詢出來的資料時間有2023年的,並且查詢時間特別特別慢
-- 這段指令碼查詢出來的資料和時間沒有什麼關係的-- 即當出現:select
m.no, m.calldate, m.persontype
from
amain m
where m.calldate >= date '
202-03-01
'and m.calldate< date'
2021-03-12
'and m.persontype like
'1003%
'or m.persontype like
'1004%
'or m.persontype like
'1006%
' ;
-- condition1 and condition2 or condition3
-- 其運算實際上是等價於:(condition1 and condition2) or condition3 //先運算and 再運算or
--運算順序為 and > or
2、正確的寫法為:
selectm.no, m.calldate, m.persontype
from
amain m
where m.calldate >= date '
202-03-01
'and m.calldate< date'
2021-03-12
'and (m.persontype like
'1003%
'or m.persontype like
'1004%
'or m.persontype like
'1006%
' );
-- 加入了括號之後就能查出正確的資料了
-- condition1 and (condition2 or condition3)
-- 其運算實際上先執行了 括號裡面的 or 再執行了 括號外的 and
-- 運算順序為 () > and
綜合上述兩種情況,就可得到:運算順序為 () > and >or.
SQL中 and or優先順序問題
剛剛在專案中遇到這樣乙個問題,sql語句如下 select from loan back library where library id 1 or lib id 1 and status 3 我想要的結果的條件是 1.library id 1 或者 lib id 1 2.status 3 但是結果...
SQL中 and or優先順序問題
sql中 and or優先順序問題 剛剛在專案中遇到這樣乙個問題,sql語句如下 select from loan back library where library id 1 or lib id 1 and status 3 我想要的結果的條件是 1.library id 1 或者 lib id...
SQL中 and or優先順序問題
原文 剛剛在專案中遇到這樣乙個問題,sql語句如下 select from loan back library where library id 1 or lib id 1 and status 3 我想要的結果的條件是 1.library id 1 或者 lib id 1 2.status 3 但...