小编Tim*_*oke的帖子

SELECT FOR JSON 输出浮点指数

当我执行以下查询时:

DECLARE @KG FLOAT = 5.0;

WITH Weight(KG, LB) AS (SELECT @KG, @KG * 2.2046226218)
SELECT * FROM Weight;
Run Code Online (Sandbox Code Playgroud)

我得到这个输出:

| KG | LB           |
|----|--------------|
| 5  | 11.023113109 |
Run Code Online (Sandbox Code Playgroud)

现在,当我简单地附加FOR JSON AUTO到输出 JSON 时,

声明 @KG 浮动 = 5.0;
    
带重量(KG,LB)AS(选择@KG,@KG * 2.2046226218)
从重量中选择 * FOR JSON AUTO

我得到以下输出:

[{"KG":5.000000000000000e+000,"LB":1.102311310900000e+001}]
Run Code Online (Sandbox Code Playgroud)

我知道上面是有效的 JSON,但我想要的输出是:

[{"KG":5,"LB":11.023113109}]
Run Code Online (Sandbox Code Playgroud)

重要提示:我意识到只需将其声明@KGDECIMALor即可获得所需的输出INT。我宁愿不这样做,因为我正在从VIEW我没有编辑权限的列表中进行选择,并且如果可能的话,我不想将每一FLOAT列单独转换为DECIMAL

有没有办法做到这一点而不将每个单独的值投射到DECIMAL

sql t-sql sql-server json sql-server-2017

5
推荐指数
1
解决办法
2062
查看次数

标签 统计

json ×1

sql ×1

sql-server ×1

sql-server-2017 ×1

t-sql ×1