怎么在表字段中运算结果???

long_0662 2014-05-04 06:53:42
Create Table T
(a int;
b nchar(1);
c int
)
insert into t(a,b,c) Values(100,'-',20)
insert into t(a,b,c) Values(110,'+',20)
insert into t(a,b,c) Values(900,'*',400)
insert into t(a,b,c) Values(900,'/',300)

select abc from t
如何将b列转为运算符,计算得如下结果
abc 100-20=80
abc 110+20=130
abc 900*400=3600
abc 900/300=3
...全文
218 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
twinsoyc 2014-05-13
  • 打赏
  • 举报
回复
2楼正解,可以采纳了。
renliquan 2014-05-11
  • 打赏
  • 举报
回复
SELECT 'abc', CONVERT (varchar(10),a) + CONVERT (varchar(10),b) +CONVERT (varchar(10),c) +'=' + CONVERT (varchar(10), CASE WHEN b='-' THEN a-c WHEN b='+' THEN a+c WHEN b='*' THEN a*c WHEN b='/' THEN a/c END ) FROM t
LongRui888 2014-05-10
  • 打赏
  • 举报
回复
上面的都是好方法
wangrcaction 2014-05-09
  • 打赏
  • 举报
回复
select CONVERT(varchar(10),a)+b+CONVERT(varchar(10),c)+'='+ CONVERT(varchar(10),case b when '+' then a+c when '+' then a+c when '-' then a-c when '*' then a*c when '/' then a/c end) from t
  • 打赏
  • 举报
回复
select CAST(a as varchar(5))+B+CAST(c as varchar(5)),
	case when a.b='+' then a.a+a.c when a.b='-' then a.a-a.c when a.b='*' then a.a*a.c when a.b='/' then a.a/a.c end
from t a

100-20	80
110+20	130
900*400	360000
900/300	3
我是小数位 2014-05-04
  • 打赏
  • 举报
回复
select case when a.b='+' then a.a+a.c when a.b='-' then a.a-a.c when a.b='*' then a.a*a.c when a.b='/' then a.a/a.c end
from t a

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧