我需要在信息中复制下面的一段sql表达式,其中COLUMN1是十进制的(25,6):
replace(round(coalesce(trim(L '0' FROM COLUMN1),0),0),'.000000','')
我尝试在我的聚合器表达式中使用以下内容:
IIF(ISNULL(COLUMN1),0,(ROUND(LTRIM(COLUMN1,0),0)))
在验证时遇到以下错误:
[ROUND]:操作数无法转换为数字
请帮我解决这个问题
答案 0 :(得分:1)
它失败了因为你正在将字符串函数LTRIM应用于COLUMN1,将其隐式转换为字符串,然后将ROUND应用于字符串。
解决这个问题的方法就是使用ROUND。由于COLUMN1是小数,因此您不需要剥离左边的零,因为它们不会在那里。