SQL比较运算符
问题描述:
是这两个说法一样吗?SQL比较运算符
查询1:WHERE salary > 999;
查询2:WHERE salary >= 1000;
我以为他们是,但显然根据我的同龄人,他们都没有(虽然他们并没有解释为什么)。
答
这不一定是相同的。如果你存储双打,当你这样做:
WHERE salary >= 1000;
你不计数采取有999
和1000
之间的所有值
否则,如果您正在使用(如999.50
。)整数,这是真的,不仅在编程方面,而且在数学方面。
n > k <=> n >= k+1
答
这两个查询可以得到同样的结果,如果salary
是整型。但是如果薪水是一些真实的类型,那么结果会有所不同。
答
这完全取决于工资的数据类型。
如果薪水是INT或BIGINT那么是的,他们会产生相同的结果。
如果薪水几乎是其他数据类型,第一次将返回999.9的结果,但第二次不会。
是他们:) – Ibu 2011-05-08 00:26:00
你的同龄人不知道了,我不认为这是一个很好的问题 – Ibu 2011-05-08 00:26:49
@IbrahimDiallo我想你认识不到他/她的同龄人:) – 2011-05-08 00:30:23