问题描述
以下表达式返回十进制值
TO_VARCHAR(COLUMN_NAME + 10)
让我们说一列的值是80,就等于90.00000 并且来源中的COLUMN_NAME是数字
要添加或更改以使返回值作为varchar而不是90.0000代替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');
因此,如果您是我,我会坚持第一个,这很容易。