在雪花结果集中以逗号分隔输出数字
Output numbers with comma separation in snowflake result set
我正在使用 Snowflake 中的 SQL 查询。 我可以在浏览器 (chrome) 或 SQL工作台J。我对两者都很满意,但更喜欢浏览器。
我正在处理相当大的数字,高达数千亿 (10^8),所以如果我能让程序用逗号分隔打印我的数字,那将非常有帮助 表示千(例如 12,345,678,901.00 与 12345678901.00)。
我在这里查看了有关格式模型的文档
https://docs.snowflake.com/en/sql-reference/sql-format-models.html
但我看不到以我正在寻找的样式输出的选项。
除此之外,我真的更愿意将其实现为接口本身的配置,而不是我应用于查询的代码。
numeric format models 似乎通过 9
(九)、,
(逗号)和 .
(句点)符号满足了您的需要。引用文档中的一些相关部分:
9
: Position for a digit; leading/trailing zeros are replaced with blank spaces.
0
: Position for a digit; leading/trailing zeros are explicitly printed.
.
(period): Decimal fraction separator; always printed as a period.
,
(comma): Digit group separator; printed as a comma or blank space.
[...]
The digit group separator ,
(comma) or G
results in the corresponding group separator character being printed if the number is big enough so the digits are on the both sides of group separator. An example of a format model useful for printing currency sums would be 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');
看起来你的愿望已经部分实现了!
在 Snowflake 的新网络界面(他们称之为 Snowsight)中,您可以选择使用逗号作为千位分隔符来显示数字。
虽然它只影响 UI 中的显示 - 它不适用于导出数据(这应该不是问题,因为导出的数据不应该被格式化 - 那是 excel 或其他人可以处理)。
我正在使用 Snowflake 中的 SQL 查询。 我可以在浏览器 (chrome) 或 SQL工作台J。我对两者都很满意,但更喜欢浏览器。
我正在处理相当大的数字,高达数千亿 (10^8),所以如果我能让程序用逗号分隔打印我的数字,那将非常有帮助 表示千(例如 12,345,678,901.00 与 12345678901.00)。
我在这里查看了有关格式模型的文档 https://docs.snowflake.com/en/sql-reference/sql-format-models.html 但我看不到以我正在寻找的样式输出的选项。
除此之外,我真的更愿意将其实现为接口本身的配置,而不是我应用于查询的代码。
numeric format models 似乎通过 9
(九)、,
(逗号)和 .
(句点)符号满足了您的需要。引用文档中的一些相关部分:
9
: Position for a digit; leading/trailing zeros are replaced with blank spaces.
0
: Position for a digit; leading/trailing zeros are explicitly printed.
.
(period): Decimal fraction separator; always printed as a period.
,
(comma): Digit group separator; printed as a comma or blank space.[...]
The digit group separator
,
(comma) orG
results in the corresponding group separator character being printed if the number is big enough so the digits are on the both sides of group separator. An example of a format model useful for printing currency sums would be 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');
看起来你的愿望已经部分实现了!
在 Snowflake 的新网络界面(他们称之为 Snowsight)中,您可以选择使用逗号作为千位分隔符来显示数字。
虽然它只影响 UI 中的显示 - 它不适用于导出数据(这应该不是问题,因为导出的数据不应该被格式化 - 那是 excel 或其他人可以处理)。