【发布时间】:2020-12-14 15:04:21
【问题描述】:
以下表达式返回十进制值
TO_VARCHAR(COLUMN_NAME + 10)
假设列的值为 80 ,它是 90.00000 并且源中的 COLUMN_NAME 是数字
添加或更改什么以将返回值作为 varchar 作为 90 而不是 90.0000
【问题讨论】:
标签: sql string snowflake-cloud-data-platform snowflake-schema
以下表达式返回十进制值
TO_VARCHAR(COLUMN_NAME + 10)
假设列的值为 80 ,它是 90.00000 并且源中的 COLUMN_NAME 是数字
添加或更改什么以将返回值作为 varchar 作为 90 而不是 90.0000
【问题讨论】:
标签: sql string snowflake-cloud-data-platform snowflake-schema
我只会先将总和转换为整数,然后再转换为 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');
所以,如果我是你,我会坚持第一个,这样更容易。
【讨论】: