易截截图软件、单文件、免安装、纯绿色、仅160KB

SQLSERVER 字符串表达式 - MS-SQL Server / 疑难问题

SQLSERVER 我有一个表,查出来的一个字段是字符串表达式
比如
a b c 5*6-3
a be ce 15*(6-3)
a b c 36-3
a be ce 1*(9-8)

我想在此后面增加一列字段,把计算结果输出来,
a b c 5*6-3 27
a be ce 15*(6-3) 45
a b c 36-3 33
a be ce 1*(9-8) 1

如何用SQL或者存储过程实现呢?有没有比较简单的方法实现呢?谢谢
SQL code:
if object_id('[tb]') is not null drop table [tb]
go
create table [tb]([col1] varchar(1),[col2] varchar(2),[col3] varchar(2),[col4] varchar(8))
insert [tb]
select 'a','b','c','5*6-3' union all
select 'a','be','ce','15*(6-3)' union all
select 'a','b','c','36-3' union all
select 'a','be','ce','1*(9-8)'

declare @sql varchar(8000)
select
@sql=isnull(@sql+' union all ','')
+'select '''+col1+''' as col1,'''+col2+''' as col2,'''+col3+''' as col3,'''+col4+''' as col4,'+col4+' as col5 '
from tb
exec (@sql)

/**
col1 col2 col3 col4 col5
---- ---- ---- -------- -----------
a b c 5*6-3 27
a be ce 15*(6-3) 45
a b c 36-3 33
a be ce 1*(9-8) 1

(4 行受影响)
**/


SQL code



Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.Code


相关问答:

sql小小的疑问 - .NET技术 / C#

可能因为工作的原因 接触数据库这块比较少,之前都是做程序这块,数据库这块都有专门的人来做 分工都很明细 所以对数据库这一块完全不了解。前段时间 去面试了几家公司 几乎都是在数据库这块挂掉的 连个简单的SQ ......

求一sql语句 - MS-SQL Server / 疑难问题

现在有两张表:文章主表A(articleId,articleTitle),文章评论表B(commentId,articleId,commentTitle)
现在我想实现这样的功能:列出文章列表,其中每篇文章标题下面列出此文章的前2个文章评论,请问sql语句怎么写啊 ......

MS SQL作业问题 - MS-SQL Server / 应用实例

如何在SQL2005中设定定时作业,比如说定时清理某些表的数据,
或者是定时的将某些表的数据导出excel!
在线等待,急急急,最好是详细步骤!
之前我做的作业有点问题!
帮UP

参考:http://hi.baidu.com/toiota ......

请教SQL语句查询问题? - MS-SQL Server / 基础类

我想查询出每天数据的最大的一个值。表的格式如下
表名: hisdata
字段 编号 值 状态 时间  
  Id value state dattime  
  101 32.3 0 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号