易截截图软件、单文件、免安装、纯绿色、仅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


相关问答:

Asp+sql server问题 - Web 开发 / ASP

我一个项目,有个插入操作,具体是这样的:
我有进货信息表。在出货时选择相应的进货信息,输入数量,选择部门后,点保存按钮,由于网络延时,点一下没有反映,于是用户就又点一下,导致一次插入了两条记录:
例: ......

SQL如何优化问题 - MS-SQL Server / 疑难问题

今天做了一个存储过程   环境是SQL2000数据库  
大致如下
建立临时表
定义员工游标
        循环员工(属于1个公司)  
        ......

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

我想查询出每天数据的最大的一个值。表的格式如下
表名: hisdata
字段 编号 值 状态 时间  
  Id value state dattime  
  101 32.3 0 ......

mysql区没高手 - MS-SQL Server / 基础类

我觉得mysql和sqlserver有共同的地方:
有个问题是关于表的锁问题:
进程A 进程B
select * from user where id in lock share mode(共享锁)
&nb ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号