gpt4 book ai didi

sql - 如何为特定数字范围生成十进制数字序列

转载 作者:行者123 更新时间:2023-12-01 09:49:48 25 4
gpt4 key购买 nike

针对上述问题考虑以下示例。假设我们有一系列十进制数,如 (12.50 ,13.20 etc.)我想要的结果是

12.51001
12.51002
....
13.19999
13.20000

要生成最多 5 位小数。在 sql 中可以吗?

最佳答案

这是一个使用 Recursive CTE 的技巧

Cast您的数据到 5 CTE 中的小数位获得所需格式的结果

;WITH cte
AS (SELECT Cast(12.50 AS NUMERIC(22, 5)) AS num --Min value from your data
UNION ALL
SELECT Cast(num + 0.00001 AS NUMERIC(22, 5))
FROM cte
WHERE num < Cast(13.20 AS NUMERIC(22, 5))) -- Max value from your data
SELECT *
FROM cte
OPTION (maxrecursion 0)

在您的预期结果中,数据从 12.51001 开始尽管您的示例数据从 12.50 开始.如果真的需要从12.51001开始然后添加 0.01001CTE的来源查询

 Cast(12.50 +0.01001 AS NUMERIC(22, 5)) AS num

关于sql - 如何为特定数字范围生成十进制数字序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40235465/

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