雪花结果集中用逗号分隔的输出数字

ewi*_*son 4 sql format configuration resultset snowflake-cloud-data-platform

我正在雪花中使用 SQL 查询。我可以在浏览器 (chrome) 或 SQLWorkbenchJ 中工作。我对两者都很满意,但更喜欢浏览器。

我正在处理中等大的数字,高达数千亿 (10^8),所以如果我能让程序打印我的数字以逗号分隔千位(例如 12,345,678,901.00 与 12345678901.00),那将非常有帮助。

我在这里查看了有关格式模型的文档 https://docs.snowflake.com/en/sql-reference/sql-format-models.html 但我看不到以我的样式输出的选项寻找。

甚至除此之外,我真的更愿意将其实现为接口本身的配置,而不是我应用于查询的代码。

Mar*_*Roy 10

看来你的愿望已经部分实现了!

在 Snowflake 的新 Web 界面(他们称之为Snowsight)中,您可以选择使用逗号作为千位分隔符来显示数字。

它只影响 UI 中的显示 - 它不适用于导出数据(这应该不是问题,因为导出的数据不应该被格式化 - 这是 excel 或其他可以处理的事情)。

在此输入图像描述


小智 6

数字格式的模型似乎覆盖通过您的需要9(9张), ,(逗号)和.(期)符号。引用文档中的一些相关部分:

9: 一个数字的位置;前导/尾随零被空格替换。

0: 一个数字的位置;显式打印前导/尾随零。

.(句号):小数分隔符;总是作为句点打印。

,(逗号):数字组分隔符;打印为逗号或空格。

[...]

如果数字足够大,则数字组分隔符,(逗号)或G导致打印相应的组分隔符字符,因此数字位于组分隔符的两侧。用于打印货币总和的格式模型的示例是 999,999.00。

以下是一些演示所需格式的改编示例:

SELECT to_varchar(123.21, '999,999,999,999.00');
SELECT to_varchar(12345.00, '999,999,999,999.00');
SELECT to_varchar(12345678, '999,999,999,999.00');
SELECT to_varchar(12345678901, '999,999,999,999.00');
SELECT to_varchar(12345678901.59, '999,999,999,999.00');
Run Code Online (Sandbox Code Playgroud)