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');
所以,如果我是你,我会坚持第一个,因为它更容易。
下面的表达式是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');
所以,如果我是你,我会坚持第一个,因为它更容易。