Snowflake SQL中如何在计算列值后添加%符号?
Snowflake SQL 实现百分比格式输出
正确实现方法
方法1:使用CONCAT函数拼接字符串
先将计算结果转为带一位小数的数值类型,再通过CONCAT拼接百分号:
CONCAT(CAST((A1/A2 * 100) AS DECIMAL(10,1)), '%') AS oc
如果需要保留更多小数,比如两位,可将DECIMAL(10,1)改为DECIMAL(10,2)。
方法2:使用FORMAT_NUMBER函数(更简洁)
Snowflake内置的格式化函数可以直接生成指定格式的字符串:
FORMAT_NUMBER((A1/A2)*100, '0.0%') AS oc
其中'0.0%'表示保留一位小数的百分比格式,若需两位小数则写'0.00%'。
原写法报错原因
你之前的写法中,左边是数值类型,Snowflake会尝试将右侧的'%'隐式转换为数值,导致识别失败报错。必须确保拼接操作的两边都是字符串类型,或者使用专门的格式化函数来处理。
内容的提问来源于stack exchange,提问作者Jyoti
相关产品推荐
相关产品推荐

