如何在BigQuery中格式化数字(含小数、无小数及带货币符号)
BigQuery 数字格式化实操(含货币、小数场景)
在BigQuery里,我们主要靠FORMAT_NUMBER()函数处理数字格式,再结合字符串拼接就能实现带货币符号的各类需求,以下是不同场景的具体用法:
1. 带两位小数+千位分隔+雷亚尔符号(例:100000000 → R$1,000,000.00)
直接拼接货币符号,配合格式模板指定小数位数:
SELECT CONCAT('R$', FORMAT_NUMBER(100000000, '#,###.00')) AS formatted_value;
执行后就能得到你要的R$1,000,000.00
2. 无小数+千位分隔+货币符号
把格式模板里的.00去掉,换成#,###即可:
SELECT CONCAT('R$', FORMAT_NUMBER(100000000, '#,###')) AS formatted_value_no_decimal;
输出结果为R$1,000,000
3. 仅处理小数/千位分隔(无货币符号)
- 保留两位小数:
SELECT FORMAT_NUMBER(123456.789, '#,###.00')→ 输出123,456.79(自动四舍五入) - 无小数取整:
SELECT FORMAT_NUMBER(123456.789, '#,###')→ 输出123,457
额外说明
FORMAT_NUMBER()的第二个参数是格式模板:#代表可选数字位,,用来设置千位分隔,.用来指定小数点位置- 换成其他货币符号也简单,比如美元就把
R$改成$,欧元改成€就行 - 负数会自动保留负号,比如
FORMAT_NUMBER(-1000000, '#,###.00')会输出-1,000,000.00,拼接后就是R$-1,000,000.00
内容的提问来源于stack exchange,提问作者Filipe Paganelli
相关产品推荐
相关产品推荐

