使用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
我认为<
意味着小于,不小于或等于?
有什么想法吗?
答案 0 :(得分:2)
Floats非常适合存储非常大的数字,精确的折扣值得存储真正的大数字。如果您没有使用非常大的数字,那么请使用更精确的数字数据类型,例如real
或decimal
或者您有什么。
如果将7.2
存储为浮点数,您会发现的是,存储的实际数字更像是7.20000000000000000000003
。因此,当你将它与7.2
进行比较时,你会得到一个奇怪的结果,即你的浮动7.2大于真实的7.2。