例如表1中的No字段是字符串类型,no字段中包含数字及符号,如20+1.5,8+5+4等
那么有办帮法提取出20,1.5,8,5,4这些数字来进行求和等于38.5吗?语句怎么样写?
那么有办帮法提取出20,1.5,8,5,4这些数字来进行求和等于38.5吗?语句怎么样写?
解决方案
30
提取出来
SELECT SUBSTRING_INDEX(No,”+”,1),SUBSTRING_INDEX(SUBSTRING_INDEX(No,”,”,1),”+”,-1),SUBSTRING_INDEX(SUBSTRING_INDEX(No,”,”,-1),”+”,1),SUBSTRING_INDEX(SUBSTRING_INDEX(No,”+”,-2),”+”,1),SUBSTRING_INDEX(No,”+”,-1) FROM 表1;
求和
SELECT SUBSTRING_INDEX(No,”+”,1)+SUBSTRING_INDEX(SUBSTRING_INDEX(No,”,”,1),”+”,-1)+SUBSTRING_INDEX(SUBSTRING_INDEX(No,”,”,-1),”+”,1)+SUBSTRING_INDEX(SUBSTRING_INDEX(No,”+”,-2),”+”,1)+SUBSTRING_INDEX(No,”+”,-1) FROM 表1;
SELECT SUBSTRING_INDEX(No,”+”,1),SUBSTRING_INDEX(SUBSTRING_INDEX(No,”,”,1),”+”,-1),SUBSTRING_INDEX(SUBSTRING_INDEX(No,”,”,-1),”+”,1),SUBSTRING_INDEX(SUBSTRING_INDEX(No,”+”,-2),”+”,1),SUBSTRING_INDEX(No,”+”,-1) FROM 表1;
求和
SELECT SUBSTRING_INDEX(No,”+”,1)+SUBSTRING_INDEX(SUBSTRING_INDEX(No,”,”,1),”+”,-1)+SUBSTRING_INDEX(SUBSTRING_INDEX(No,”,”,-1),”+”,1)+SUBSTRING_INDEX(SUBSTRING_INDEX(No,”+”,-2),”+”,1)+SUBSTRING_INDEX(No,”+”,-1) FROM 表1;
10
这是一个字段的内容:20+1.5,8+5+4,还是2个数据,数据中包含逗号了吗,还是说只有+号