【发布时间】:2020-03-22 12:19:22
【问题描述】:
我想得到字母数字列的总和。如果不是数字,我想添加数值并返回列值。我所做的是添加了一个看起来像这样的CASE WHEN
CASE
WHEN intAllocatedResourceperDivision NOT IN ('CL', 'HS', 'HV', 'ML', 'SL', 'VL', 'HC', 'S', '*')
THEN CAST(SUM(ISNULL(CAST(intAllocatedResourceperDivision AS DECIMAL), 0.00)) AS NVARCHAR(250))
ELSE intAllocatedResourceperDivision
END intAllocatedResourceperDivision
所以我假设将添加所有数值,如果值在('CL', 'HS', 'HV', 'ML', 'SL', 'VL', 'HC', 'S', '*') 中,它将按原样返回。
但我得到了
将数据类型 nvarchar 转换为数值时出错。
【问题讨论】:
-
用您正在使用的数据库标记您的问题。样本数据和期望的结果也会有所帮助。
-
@GordonLinoff 更新
标签: sql sql-server case-when alphanumeric