Number 列到 Varchar 列而不返回十进制值

Number column to Var char column without returning decimal value

下面的表达式是return十进制值

TO_VARCHAR(COLUMN_NAME + 10) 

假设列的值为 80 ,它正在返回 90.00000 source 中的 COLUMN_NAME 是 number

要添加或更改什么才能将 return 值作为 varchar 作为 90 而不是 90.0000

我先将总和转换为整数,然后再转换为 varchar。

SELECT (COLUMN_NAME + 10)::INT::VARCHAR;

您也可以在此处使用 SQL 格式模型:https://docs.snowflake.com/en/sql-reference/sql-format-models.html,但我发现它们很难使用,因为您首先需要知道结果的固定小数位。例如,

SELECT TO_VARCHAR('40' + 10, '99');

SELECT TO_VARCHAR('40' + 10, '999');

两者都有效,但这不行:

SELECT TO_VARCHAR('400' + 10, '99');

所以,如果我是你,我会坚持第一个,因为它更容易。