设为首页 加入收藏

TOP

MSSQL中执行计算式获得计算值
2014-11-24 09:52:46 】 浏览:4259
Tags:MSSQL 执行 算式 获得 计算

MSSQL中执行计算式获得计算值
最近一个同事问我这事,想起2009年写的一个处理函数,
写这个函数的时候也参考了网络上的信息,在此做个备考
[sql]
/****** オブジェクト: UserDefinedFunction [dbo].[F_ComputeUnitProductAmount] スクリプト日付: 09/13/2012 14:26:43 ******/
SET ANSI_NULLS ON
GO www.2cto.com
SET QUOTED_IDENTIFIER OFF
GO
/* 数概要-------------------------------------------------------
数 明 : 算公式によって、 果をもらいます
作成者 :王 寿(ネットワ クに参考します)
作成日付 :2009/06/04
例えば :SELECT dbo.F_ComputeUnitProductAmount('5+(4*3)^2+10/2')
----------------------------------------------------------------*/
/*---------------------------------------------------------------
修正日付 :2009/07/02
修正者 :王 寿
修正内容 :OLEDB 象を 放する
----------------------------------------------------------------*/
CREATE FUNCTION [dbo].[F_ComputeUnitProductAmount]
( www.2cto.com
@str varchar(1000)-- 算用公式
)
RETURNS sql_variant -----もしSUM(),AVG()など 算の 、INTに する
-----------------------------------------------------------------
AS
-----------------------------------------------------------------
begin
declare @re sql_variant
declare @err int,
@src varchar(255)
,@desc varchar(255)
,@hr int
declare @obj int
exec @err=sp_oacreate 'MSScriptControl.ScriptControl',@obj out
if @err<>0 goto lb_err
exec @err=sp_oasetproperty @obj,'Language','vbscript'
if @err<>0 goto lb_err
www.2cto.com
exec @err=sp_oamethod @obj,'eva l',@re out,@str
exec @err=sp_oadestroy @obj---2009/07/02追加---なければ、256行だけを 行する
if @err=0 return(@re)
lb_err:
return(0)
end
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇SQL Server计算列是否占用空间 下一篇sql以工作日计算起始年假的计算时..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目