![](/img/trans.png)
[英]ERROR when setting precision and scale for BIGNUMERIC data type in Big Query schema using python
[英]Big Query Error When Using CAST and determining decimals
我的 Big Query 工作区中有此代码。
SELECT CAST(Cost AS FLOAT64)
FROM `db_table`
WHERE COST > 0
LIMIT 1000
该列返回这些数字:
2590000.0
965145.0
但是,我需要将数字作为货币,例如第一个返回 2590000.0 应该是 25.90,第二个应该是 96.51
所以我把我的代码改成这样:
SELECT CAST(Cost AS FLOAT64(4,2))
FROM `db_table`
WHERE COST > 0
LIMIT 1000
现在我得到这个错误:
FLOAT64 不支持 [1:28] 处的类型参数
有什么我想念的吗? 如何转换为小数点并指定小数点在 BQ 中的位置?
谢谢,
由于问题不明确,我在这里做一些假设:
因此,下面的示例代码完成了以下任务:
CREATE TEMP TABLE db_table ( cost FLOAT64 );
INSERT INTO
db_table
VALUES
( 2590000.0 );
INSERT INTO
db_table
VALUES
( 965145.0 );
SELECT
FORMAT("%.*f",2, CAST(CONCAT(SUBSTR(CAST(Cost as STRING), 0, 2), '.', SUBSTR(CAST(Cost as STRING), 3)) as FLOAT64) + 0.0001)
FROM
db_table;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.