各位大大,
原本以為可以用OR來解決,但是好像查詢結果還是有錯誤的
stime 是 2012-03-12 而且 etime 是null 以及 etime 是 2012-03-12的紀錄?
ID ip create update
1 192.168.1.5 2012-03-10 15:48:05 2012-03-12 10:48:05
2 192.168.1.2 2012-03-11 07:48:05 null
3 192.168.1.3 2012-03-12 08:48:05 null
4 192.168.1.1 2012-03-12 09:48:05 null
5 192.168.1.6 2012-03-12 15:48:05 2012-03-12 17:48:05
6 192.168.1.7 2012-03-12 18:45:05 2012-03-12 19:48:05
我想查詢條件 是ip = 192.168.1.1 , 而且取出的日期限制是 (1)create是2012-03-12 而且update是null (代表資料是2012-03-12新增的資料)或是
(2) update是2012-03-12 (資料是2012-03-12更新的資料)
也就是我想取出192.168.1.1 是2012-03-12新增或是更新的資料
以上面的例子的話,取出的紀錄應該是 1筆
4 192.168.1.1 2012-03-12 09:48:05 null
所以我下的SQL查詢是:
select * from A_TABLE where ip = '192.168.1.1' and create like '2012-03-12 %' and update is null or update like '2012-03-12 %' ;
但是卻取出4筆
1 192.168.1.5 2012-03-10 15:48:05 2012-03-12 10:48:05
4 192.168.1.1 2012-03-12 09:48:05 null
5 192.168.1.6 2012-03-12 15:48:05 2012-03-12 17:48:05
6 192.168.1.7 2012-03-12 18:45:05 2012-03-12 19:48:05