有表如下,初始时各列都是设成字符类型
Factor 张三 李四 王五
Math 90 80 95
Class A1 A1 A2
History 90 89 85现在想增加一列用于显示第二列减第一列的结果,字符相减,结果默认为0,怎么实现???
Factor 张三 李四 王五
Math 90 80 95
Class A1 A1 A2
History 90 89 85现在想增加一列用于显示第二列减第一列的结果,字符相减,结果默认为0,怎么实现???
解决方案 »
- SQL Server master库只读\脱机\紧急模式 怎么解决
- 关于sql查询的问题?
- 请问:可以在一个存储过程里面调用另外一个存储过程的返回结果(表)吗? 谢谢.
- SQL2000个人版+winxp+ado+VB查询时,主机速度很快.客户机反应很慢?
- 向高手求救,过于存储过程中输出text类型值
- 跪求高手指教,这样用一条SQL怎么实现。。。。。在线等
- help ! 误删数据 , 请问应该怎么恢复 ????
- 一条SQL语句!请帮帮忙。。真的很急!
- 一条sqlserver语句最大可支持多少字符?
- [求朋友们指点]sql 2005如何在重新初始化订阅之前把订阅服务器上的数据上传到发布服务器?
- Sql多表查询
- 数据库表的转换
Math 90 80 95
Class A1 A1 A2
History 90 89 85要变成:
Factor 张三 李四 王五 李四一张三
Math 90 80 95 -10
Class A1 A1 A2 0
History 90 89 85 -1
alter table biao add ziduan int default('0')
是不是这样啊
create table #test(Factor varchar(20), 张三 varchar(20), 李四 varchar(20), 王五 varchar(20))insert #test
select 'Math', '90', '80', '95'
insert #test
select 'Class', 'A1' ,'A1' ,'A2'
insert #test
select 'History', '90', '89', '85'
alter table #test
add iii as
case when isnumeric(李四)=1 and isnumeric(张三)=1 then ltrim(cast(李四 as int)-cast(张三 as int)) else '0' endselect * from #test
Factor 张三 李四 王五 iii
-------------------- -------------------- -------------------- -------------------- ------------
Math 90 80 95 -10
Class A1 A1 A2 0
History 90 89 85 -1(3 行受影响)