我看到了
android.useAndroidX=true
SUM(CAST(AVG_CLAIM_PAID AS NUMERIC(18,2))) AVG_CLAIM_PAID
中的此语法。请在数据库语法上方清楚说明。
答案 0 :(得分:0)
这是您的情况:
(Category = @Category or isnull(@Category,'')='')
这将返回基于Category
(您在@Category
中的数据)的数据,如果@Category
没有值或null
,则它将重新运行所有类别。 / p>
所以,我会用纯布尔逻辑重写它:
(Category = @Category OR @Category IS NULL)
注意::这将回答编辑之前的原始问题。
答案 1 :(得分:0)
AVG_CLAIM_PAID
可以是表中的字段名称
该字段数据类型不是Int,Float,bigint之类的数字,因此使用CAST()
会转换为NUMERIC(18,2)
NUMERIC(18)
用于将字段值转换为数字,而2
则用于小数点
示例:
declare @var1 nvarchar(10)
set @var1 = '50.2545'
SELECT CAST(@var1 AS NUMERIC(18,2))
--output will be : 50.25 as Number
之后,使用SUM()
计算该表中所有记录的总和。