在 BigQuery 表中,我有一个 FLOAT 数据类型的列。我需要将此列中的值格式化为小数点后 3 位,但前提是该值本身的小数点后位数少于 3 位。如果该值的小数点后有 3 位或更多位,则需要按原样显示该值.
为此,我尝试计算列中每个值的小数点后的位数。我该怎么做?
输入_列 | 输出_列 |
---|---|
2 | 0 |
1.123 | 3 |
1.12 | 2 |
SELECT LENGTH(SUBSTR(FORMAT('%t', column1), INSTR(FORMAT('%t', column1), '.') + 1)) AS DIGITS_AFTER_DECIMAL
FROM table1