sqlserver中如何进行截取字符串然后再计算?

例如一个  表table1  有一个字段为number    该字段类型是varchar类型假如一条数据里面内容为  100mm*200mm现在想用select方式检索出来然后把100与200相乘得出结果。 例如 select  (检索截取运算) as form table1  怎么写?

oracle中的方法可以这样,但是不知道sql server中支不支持相应的函数,你可以试一下

select replace(t.number,'m','') num from table1 t //去掉m 变成100*200但是这是varchar类型不是数字
(1)instr(replace(t.number,'m',''),'*',1) 从100*200的第1位截取到 '*' 的长度,注:这时是长度,不是数字100
substr(num,1,instr(replace(t.number,'m',''),'*',1)-1) 从第一位截取到'*'之前,即取出100
(2)instr(replace(t.number,'m',''),'*',-1) 从100*200的最后1位截取到 '*' 的长度
substr(num,-1,instr(replace(t.number,'m',''),'*',-1)-1) 取出200
然后(1)*(2)就可以了(把substr里面的num换成 replace(t.number,'m',''))
思路就这样,你再整理一下就可以了
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答