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

需求如下:
学院 academy(aid,aname)
班级 class(cid,cname,aid)
学生 stu(sid,sname,aid,cid)
住宿区 region(rid,rname)
宿舍楼 build(bid,rid,bnote) bnote是‘男’/‘女’
宿舍 dorm(did,rid,bid,bedn ......

一条 SQL - Oracle / 基础和管理

有这样一条SQL
 Select Get_Costtaxrate(col1), Get_Tcostvalue(col1) from a
 
其中Get_Costtaxrate、Get_Tcostvalue都是函数,这两个函数里面都是查找一个大表,Get_Tcostvalue还需要调用Get_C ......

关于Sql的问题 - .NET技术 / ASP.NET

将一个查询语句赋给一个变量,如下:
DECLARE @STR NVARCHAR(MAX)
SET @STR='SELECT * from SALE_PROD'
怎么样才能执行它呢?
请高手,仁兄,侠姐帮帮忙啊


多谢,可以啦,高手啊

直接执行就行了

exec ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号