SQL比较运算符

SQL比较运算符

问题描述:

是这两个说法一样吗?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

这不一定是相同的。如果你存储双打,当你这样做:

WHERE salary >= 1000; 

你不计数采取有9991000之间的所有值

否则,如果您正在使用(如999.50。)整数,这是真的,不仅在编程方面,而且在数学方面。

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

这两个查询可以得到同样的结果,如果salary是整型。但是如果薪水是一些真实的类型,那么结果会有所不同。

这完全取决于工资的数据类型。

如果薪水是INT或BIGINT那么是的,他们会产生相同的结果。

如果薪水几乎是其他数据类型,第一次将返回999.9的结果,但第二次不会。