我正在寻找类似于BigQuery的用法:
NUMFORMAT(MyPrice, '$###.###,##')
示例:NUMFORMAT(99999999.99, '$###.###,##')
结果:99.999.999,99
P.S。通过不使用JavaScript和e.t.c。
答案 0 :(得分:2)
下面是纯SQL(BigQuery标准SQL)
#standardSQL
CREATE TEMP FUNCTION NUMFORMAT(number FLOAT64) AS (
REPLACE(REPLACE(REGEXP_REPLACE(FORMAT("%'.2f", number), r'([\d,]+).(\d+)', r'\1=\2'), ',', '.'), '=', ',')
);
SELECT
NUMFORMAT(99999.99),
NUMFORMAT(99999999.99),
NUMFORMAT(12345678.09),
NUMFORMAT(-999.99)
有输出
Row f0_ f1_ f2_ f3_
1 99.999,99 99.999.999,99 12.345.678,09 -999,99