Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 为什么我的圆函数不能正常工作?_Sql - Fatal编程技术网

Sql 为什么我的圆函数不能正常工作?

Sql 为什么我的圆函数不能正常工作?,sql,Sql,输出: SELECT ROUND(ABS(MIN(LAT_N) - MAX(LAT_N)) + ABS(MIN(LONG_W) - MAX(LONG_W)), 3) FROM STATION; 预期产出: 259.68600000 这可能取决于工具。但是,ROUND()更改列的值,但不一定更改类型 我建议您转换为所需的类型,在本例中为十进制“ 您的问题不清楚您想要的是小数点后三位还是四位。当然,请根据您想要的小数位数选择合适的类型。因为您将小数位数定义为3。我实际上是在测试随机输入,重点

输出:

SELECT ROUND(ABS(MIN(LAT_N) - MAX(LAT_N)) + ABS(MIN(LONG_W) - MAX(LONG_W)), 3) 
FROM STATION;
预期产出:

259.68600000 

这可能取决于工具。但是,
ROUND()
更改列的值,但不一定更改类型

我建议您转换为所需的类型,在本例中为十进制“


您的问题不清楚您想要的是小数点后三位还是四位。当然,请根据您想要的小数位数选择合适的类型。

因为您将小数位数定义为3。我实际上是在测试随机输入,重点是为什么它仍然显示这些零?这与您使用的工具/软件有关这在很大程度上取决于您使用的是什么具体的RDBMS,以及这些列是什么数据类型。您没有告诉我们这两条信息中的任何一条-因此我们真的无法以任何程度的确定性回答…您需要看到不舍入的值。我相信结果是舍入的,但是可视化的工具s您的数据不会丢弃尾随零(如上所述,根据数据类型,存储值最终会有尾随零)。此外,当您提供3作为参数时,为什么预期结果应该有4位十进制数字?
259.6859
SELECT CAST(ROUND(ABS(MIN(LAT_N) - MAX(LAT_N)) + ABS(MIN(LONG_W) - MAX(LONG_W)), 3) as DECIMAL(10, 3))
FROM STATION;