打印本文 打印本文 关闭窗口 关闭窗口
用于执行(计算) 字符串表达式 的 T-SQL 存储过程
作者:武汉SEO闵涛  文章来源:敏韬网  点击数1284  更新时间:2007/11/14 12:57:18  文章录入:mintao  责任编辑:mintao

create procedure sp_CalcExpression
@Expression varchar(8000)
,@ decimal(10,2) out
as
declare @sql nvarchar(4000)
set @sql = N''''set @ = '''' + @Expression
exec SP_EXECUTESQL @sql ,N''''@ decimal(10,2) out'''', @ out
select @

--==============================
--调用示例:
declare @x decimal(10,2)
exec sp_CalcExpression ''''(100 + 2.1)*0.01'''', @x out
select @x

--==============================
--相关帖子:
数据varbinary与varchar变换的问题
http://community.csdn.net/Expert/TopicView.asp?id=3619946

请教一个数据类型转换的问题
http://community.csdn.net/Expert/TopicView.asp?id=3569862

--================
--下面是支持 SQL 其他内置函数的
create procedure sp_ExecExpression
@Expression varchar(8000)
,@ varchar(8000) out
as
declare @sql nvarchar(4000)
set @sql = N''''set @ = '''' + @Expression
exec SP_EXECUTESQL @sql ,N''''@ varchar(8000) out'''', @ out
select @

--调用示例:
declare @x varchar(100)
exec sp_ExecExpression ''''left(''''''''aBcD'''''''',2)'''',@x

打印本文 打印本文 关闭窗口 关闭窗口