如何解决将Number列转换为Var char列而不返回十进制值
以下表达式返回十进制值
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');
因此,如果您是我,我会坚持第一个,这很容易。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。