Google bigquery BigQuery是否支持ANSI SQL 2011标准中定义的数字和十进制数据类型?

Google bigquery BigQuery是否支持ANSI SQL 2011标准中定义的数字和十进制数据类型?,google-bigquery,Google Bigquery,许多应用程序,包括那些处理存储有关货币、货币和其他金融信息的数据的应用程序,都依赖于固定精度的十进制数据类型。在SQL中,它们存储在具有数字或十进制类型的列中 是否有任何BigQuery数据类型支持固定精度小数?BigQuery支持,在撰写本文时,它是beta版本。总精度为38位,小数精度为9位。您可以在精度很重要的场景中使用它,例如获取货币值的总和或平均值。例如: WITH Transactions AS ( SELECT DATE '2018-05-15' AS transaction_

许多应用程序,包括那些处理存储有关货币、货币和其他金融信息的数据的应用程序,都依赖于固定精度的十进制数据类型。在SQL中,它们存储在具有数字或十进制类型的列中

是否有任何BigQuery数据类型支持固定精度小数?

BigQuery支持,在撰写本文时,它是beta版本。总精度为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;

BigQuery支持具有

精度:76.76(第77位为部分)

比例:38

最小值:-5.789604461865809771178549250433953926634992332820282019728792003956564819968E+38
Max:5.7896044618658097711785492504343953926634992332820282019728792003956564819967E+38

BigQuery现在支持数字(38位精度和9位小数位数刻度)