SQL查询返回小于或等于而不是小于?

时间:2016-06-15 16:07:53

标签: sql sql-server

使用Microsoft SQL Server管理Studio我有以下查询:

DECLARE @payo25 float
SET @payo25  = 7.2

SELECT first_name, surname, hourly_rate
FROM table1
WHERE hourly_rate < @payo25

此查询返回:

Jane Smith   7.2
Fred Bloggs  4.9

我认为<意味着小于,不小于或等于?

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

Floats非常适合存储非常大的数字,精确的折扣值得存储真正的大数字。如果您没有使用非常大的数字,那么请使用更精确的数字数据类型,例如realdecimal或者您有什么。

如果将7.2存储为浮点数,您会发现的是,存储的实际数字更像是7.20000000000000000000003。因此,当你将它与7.2进行比较时,你会得到一个奇怪的结果,即你的浮动7.2大于真实的7.2。