2011-05-08 119 views
1

是這兩個說法一樣嗎?SQL比較運算符

查詢1:WHERE salary > 999;

查詢2:WHERE salary >= 1000;

我以爲他們是,但顯然根據我的同齡人,他們都沒有(雖然他們並沒有解釋爲什麼)。

+0

是他們:) – Ibu 2011-05-08 00:26:00

+0

你的同齡人不知道了,我不認爲這是一個很好的問題 – Ibu 2011-05-08 00:26:49

+1

@IbrahimDiallo我想你認識不到他/她的同齡人:) – 2011-05-08 00:30:23

回答

5

這不一定是相同的。如果你存儲雙打,當你這樣做:

WHERE salary >= 1000; 

你不計數採取有9991000之間的所有值

否則,如果您正在使用(如999.50。)整數,這是真的,不僅在編程方面,而且在數學方面。

n > k <=> n >= k+1 
1

這兩個查詢可以得到同樣的結果,如果salary是整型。但是如果薪水是一些真實的類型,那麼結果會有所不同。

1

這完全取決於工資的數據類型。

如果薪水是INT或BIGINT那麼是的,他們會產生相同的結果。

如果薪水幾乎是其他數據類型,第一次將返回999.9的結果,但第二次不會。