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


相关问答:

java程序连接SQlServer的问题 - Java / Java SE

import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class QueryTest&n ......

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

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

一条 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号