【发布时间】:2022-06-26 17:28:42
【问题描述】:
我正在 HackerRank 的 Weather Observation Station 17 上工作。 查询STATION最小北纬(LAT_N)大于38.7780的西经(LONG_W)。将您的答案四舍五入到小数点后 4 位。
表:STATION 字段:ID、CITY、STATE、LAT_N、LONG_W 其中LAT_N是北纬,LONG_W是西经。
我的代码:
SELECT ROUND(LONG_W,4,0) AS low
FROM STATION
WHERE LAT_N = (SELECT MIN(LAT_N) FROM STATION WHERE LAT_N > 38.7780);
输出: 70.13780000 答案是错误的。我在网上查了这个问题,其他答案中的代码看起来都一样。我正在使用 MS SQL Server。 相同的代码在 MySQL 上运行良好
【问题讨论】:
-
LONG_W的数据类型是什么?ROUND不会改变值的数据类型;它只是 rounds 它。 -
LONG_W 和 LAT_N 是数字。
-
number不是 SQL Server 中的数据类型...LONG_W是real还是float?decimal(27,14)?varchar(20)?还有什么? -
问题提到的数字。 LONG_W 有 8 个小数点,现在它是有意义的。谢谢!
标签: sql sql-server numbers decimal