我需要从字符串中获取具有可变长度的数字并对它们求和。
字符串具有以下格式:
EH:NUMBER=SomeOtherStuff->Code
我正在通过RIGHT()
提取代码并加入另一个表来使组正确,目前我正在使用sum来通过日期将它们组合在一起:
SUM(CASE WHEN (MONTH(data.DATE1) = 5 AND YEAR(data.DATE1) = YEAR(GETDATE())) THEN 1 ELSE 0 END) N'Mai',
然后我需要对字符串中的数字求和,而不是行数。
一些例子:
Month1 EH:1=24->ZTM
Month1 EH:4=13-21->LKm
Month2 EH:3=34,33,43->LKm
Month2 EH:7=12,92-29,29->LKm
Month2 EH:5=24-26,11,21,22->ZOL
我需要的:
Material - Month1 - Month2
ZTM - 1 - 0
LKM - 4 - 10
ZOL - 0 - 5
请问你能帮帮我吗?
问候
简短版:你要找的是SUBSTRING。
更长版本:要获得NUMBER数值的总和,您需要考虑如何分解它。
我建议您按照以下步骤操作:
所以SUM(CAST(SUBSTRING(*这部分你必须自己弄清楚))作为正确的数值数据类型))。我会让你弄清楚要自己插入的值,并建议首先找到分隔字符的位置,然后提取NUMBER部分,然后得到数值....你得到它。
这样可以更好地了解您实际在做什么。
干杯,祝你马丁好运