2011-03-01 72 views
0

如何從一個表中獲取具有日期創建和日期更新字段的行不等於?mysql:獲取不等於字段的行

+2

有沒有人甚至決定使用甚至去想要看起來更像? – 2011-03-01 09:18:12

回答

2

如果您希望所有的行

DateCreate DateUpdate 
NULL   NULL 
NULL   2011-03-01 <<< 
2011-03-01 NULL   <<< 
2011-03-01 2011-03-01 
2011-03-01 2011-03-02 <<<, *** 

你想看到只有***所有行正確這樣做,這樣,對於這個數據,然後

select * from tbl 
where DateCreate <> DateUpdate 

<<<(不等於包含null),則

select * from tbl 
where DateCreate <> DateUpdate 
    or (DateCreate is null <> DateUpdate is null) 
1
​​
+0

Re:'<>'vs.'!=':在MySQL中這些是相同的,參見。 [Operator:Not Equal](http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#operator_not-equal)。 – jensgram 2011-03-01 09:26:15

+1

冗餘代碼太多。對於!= b,a和b都不是空值。 – RichardTheKiwi 2011-03-01 09:28:40

+0

@Richard又名cyberkiwi所以'2011-03-01!= NULL'將會是'FALSE'?正如我所看到的那樣,如果存在''''塊',那麼上面的內容會從數據集中選擇'***',如果不存在''''''''''''。 (我同意,但是,您的查詢更清晰。) – jensgram 2011-03-01 09:41:10

相關問題