许多应用程序,包括那些处理存储有关货币、货币和其他金融信息的数据的应用程序,都依赖于固定精度的十进制数据类型。在 SQL 中,它们存储在具有 NUMERIC 或 DECIMAL 类型的列中。
是否有支持固定精度小数的 BigQuery 数据类型?
BigQuery 支持NUMERIC数据类型,在撰写本文时该数据类型处于测试阶段。它的总精度为 38 位,小数精度为 9 位。您可以在精度很重要的场景中使用它,例如求货币值的总和或平均值。例如:
WITH Transactions AS (
SELECT DATE '2018-05-15' AS transaction_date, NUMERIC '12.34' AS transaction_amount UNION ALL
SELECT DATE '2018-05-01', NUMERIC '100.11' UNION ALL
SELECT DATE '2018-05-06', NUMERIC '54.00' UNION ALL
SELECT DATE '2018-05-02', NUMERIC '999.99' UNION ALL
SELECT DATE '2018-05-03', NUMERIC '1234.56' UNION ALL
SELECT DATE '2018-05-04', NUMERIC '99.00'
)
SELECT
SUM(transaction_amount) AS total_sales,
ROUND(AVG(transaction_amount), 2) AS average_sale,
ARRAY_AGG(
STRUCT(transaction_date AS date, transaction_amount AS amount)
ORDER BY transaction_amount DESC LIMIT 3
) AS top_sales
FROM Transactions;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5166 次 |
| 最近记录: |