Snowflake将Int转换为Decimal



我正在将SQL Server数据迁移到Snowflake,并尝试将Int转换为Decimal。但反应并不是我所期望的。

在SQL中,如果运行此查询Select 1.0000Select Cast(1 as Decimal(12,4)),结果将为1.000。如果我在Snowflake中也这样做,结果是1。有办法解决它吗?

感谢

您可以使用

select to_number(1,12,4)

更多信息

选择Cast(1为Decimal(12,4((,结果将为1.000。如果我在Snowflake中也这样做,结果是1。有办法解决它吗

数字的表示并不重要。它很可能是一个客户端工具,显示它时没有小数点。

当涉及EXPLICIT强制转换时,数据类型将按请求设置,并且可以通过DESCRIBE RESULT:轻松确认

SELECT CAST(1 AS DECIMAL(12,4)) AS col;
DESCRIBE RESULT LAST_QUERY_ID();
-- name     type           kind      null?
-- col      NUMBER(12,4)   COLUMN    Y

DECIMAL和NUMBER是Snowflake中的同义词。

最新更新