如何在DB2SQL中获取重复的子字符串并添加子字符串的剩余附加整数值

如何在DB2SQL中获取重复的子字符串并添加子字符串的剩余附加整数值,sql,db2,Sql,Db2,我的场景是,我有一个重复的子字符串,字符串在列中,如 可乐 |QWERT-1| |QWERT-3| |QWERT-12| 我想像这样离开专栏 QWERT |十六,| i、 e添加重复子字符串(QWERT)的1+3+12,并将QWERT设置为列名 如何使用DB2 SQL实现这一点请尝试以下方法: SELECT SUM(CAST(SUBSTR(t.YourColumn, LOCATE('-',t.YourColumn)+1) as INT)) as sum_total FROM YourTable

我的场景是,我有一个重复的子字符串,字符串在列中,如

可乐

|QWERT-1|

|QWERT-3|

|QWERT-12|

我想像这样离开专栏

QWERT
|十六,|

i、 e添加重复子字符串(QWERT)的1+3+12,并将QWERT设置为列名

如何使用DB2 SQL实现这一点请尝试以下方法:

SELECT SUM(CAST(SUBSTR(t.YourColumn, LOCATE('-',t.YourColumn)+1) as INT)) as sum_total
FROM YourTable t
试试这个:

SELECT SUM(CAST(SUBSTR(t.YourColumn, LOCATE('-',t.YourColumn)+1) as INT)) as sum_total
FROM YourTable t

但是我得到了错误(从数据源收到了一个意外的响应:整数类型的字符串格式无效。)注意->列1值存储为char数据类型然后不是所有的数据都像您发布的那样。编辑您的问题并提供所有可能的数据以及您希望从中得到什么@Amrutaraut没有问题:)。请接受这个答案@AmrutaRautHi sagi,我还有一个问题是,如何动态地将QWERT设置为列名?或者特别是
QWERT
。您可以将
作为sum_total
更改为
作为QWERT
@amrutaraut,但我收到了错误(从数据源收到了意外的响应:整数类型的字符串格式无效。)注意->列1值存储为char数据类型然后并非所有数据都像您发布的那样。编辑您的问题并提供所有可能的数据以及您希望从中得到什么@Amrutaraut没有问题:)。请接受这个答案@AmrutaRautHi sagi,我还有一个问题是,如何动态地将QWERT设置为列名?或者特别是
QWERT
。您可以将
作为总和
更改为
作为QWERT
@amrutarau