带有SELECT语句的尾数000000000000003

时间:2019-06-02 06:48:31

标签: sql oracle

我在数据库中有以下架构和数据:

Create table Scores (Id int, Score NUMBER(3,2))
Truncate table Scores
insert into Scores (Id, Score) values ('1', '3.5')
insert into Scores (Id, Score) values ('2', '3.65')
insert into Scores (Id, Score) values ('3', '4.0')
insert into Scores (Id, Score) values ('4', '3.85')
insert into Scores (Id, Score) values ('5', '4.0')
insert into Scores (Id, Score) values ('6', '3.65')

我写了以下查询:

SELECT Score, DENSE_RANK() OVER (ORDER BY Score DESC) AS Rank FROM Scores;

在大多数结果上效果很好。但是有时候我得到Scores的值,结尾是03,例如:57.43000000000000003

有人可以解释为什么会发生吗?

更新:

解决以下问题:https://leetcode.com/problems/rank-scores/

添加了ROUND(Score, 2),它可以正常工作。但仍不清楚尾随零。

0 个答案:

没有答案
相关问题