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

例如一个 表table1 有一个字段为number   该字段类型是varchar类型假如一条数据里面内容为 ... 例如一个  表table1  有一个字段为number    该字段类型是varchar类型假如一条数据里面内容为  100mm*200mm现在想用select方式检索出来然后把100与200相乘得出结果。 例如 select  (检索截取运算) as form table1  怎么写? 展开
 我来答
liranran999
2012-02-03
知道答主
回答量:13
采纳率:0%
帮助的人:15.3万
展开全部
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',''))
思路就这样,你再整理一下就可以了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式