gpt4 book ai didi

sql - SELECT FOR JSON 输出 float 指数

转载 作者:行者123 更新时间:2023-12-02 02:57:06 25 4
gpt4 key购买 nike

当我执行以下查询时:

DECLARE @KG FLOAT = 5.0;

WITH Weight(KG, LB) AS (SELECT @KG, @KG * 2.2046226218)
SELECT * FROM Weight;
我得到这个输出:
| KG | LB           |
|----|--------------|
| 5 | 11.023113109 |
现在,当我简单地附加 FOR JSON AUTO输出JSON,
DECLARE @KG FLOAT = 5.0;    WITH Weight(KG, LB) AS (SELECT @KG, @KG * 2.2046226218)SELECT * FROM Weight FOR JSON AUTO;

I get the following output:

[{"KG":5.000000000000000e+000,"LB":1.102311310900000e+001}]
我知道以上是有效的 JSON,但我想要的输出是:
[{"KG":5,"LB":11.023113109}]
重要提示:我意识到我可以通过简单地声明 @KG 来获得所需的输出如 DECIMALINT .我宁愿不这样做,因为我是从 VIEW 中选择的我没有编辑权限,而且我不想单独转换每个 FLOAT列到 DECIMAL如果可能的话。
有没有办法做到这一点,而无需将每个单独的值转换为 DECIMAL ?

最佳答案

您应该使用 exact numeric datatypes :

DECLARE @KG DECIMAL(38,12) = 5.0;

WITH Weight(KG, LB) AS (SELECT @KG, @KG * 2.2046226218)
SELECT * FROM Weight FOR JSON AUTO;

DbFiddle Demo

关于sql - SELECT FOR JSON 输出 float 指数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48718209/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com