科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道在SQL Server中计算金融数值(2)

在SQL Server中计算金融数值(2)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

SQL Server 2000和2005版并没有提供很多金融函数,但是有很多金融计算公式的来源,在这篇技巧中,我将展示净现值(present value (PV))和未来值(future value (FV))函数,它们都是标量的用户自定义函数(UDF)。 Yq}gRs;q wzaBiN O4

作者:赛迪网技术社区 来源:赛迪网技术社区 2007年8月26日

关键字: 数据库 金融 SQL Server SQL Server 各版本

  • 评论
  • 分享微博
  • 分享邮件
其计算公式为: _Gck|'M  
iw4")PH<~  
FV = PV (1 + i)n [D~u<e N  
m]_TdZ!Cx  
当您将这一公式翻译为SQL Server函数的时候,您会得到列表B中所示的代码:  `w  
W]@4y=Rcu  
-- ================================================ K.+] W  
-- Template generated from Template Explorer using: KN]{+-(  
-- Create Scalar Function (New Menu).SQL SJ70;4#Wa  
-- c11gsyp/  
-- Use the Specify Values for Template Parameters +%d|cm*  
-- command (Ctrl-Shift-M) to fill in the parameter 2R}9g=  
-- values below. 0j.8vP[x4  
-- :=\8 ezX^  
-- This block of comments will not be included in 6\ WLo  
-- the definition of the function. `"(x#HjE  
-- ================================================ ~Qz%OS)  
SET ANSI_NULLS ON 2@C &CK   
GO .K32lp8,  
SET QUOTED_IDENTIFIER ON gJ9VkC}O  
GO g)\zJd_3B"  
-- ============================================= ;o{(!,h  
-- Author:        Arthur Fuller }j[$BRJ>  
-- Create date: 22-Aug-2006 IilHxiw<  
-- Description:  Returns Future Value m po!  
-- Example: dBb4.2#T  
--      @fv = 100000 (dollars) lPyR w {  
--      @i  = 6% (per annum) -R^.J(h*  
--      @p  = 5 (years) S/FRp7  
--  SELECT DBO.FV_fn( 150000, .06, 5) 0LSwIt>'U  
-- returns 100000 ;.],5zG  
-- ============================================= $n5BG ?#  
CREATE FUNCTION FV_fn SOoD)EKU  
( %5akR^  
      -- Add the parameters for the function here <Pp!8j5  
      @pv float,      -- current amount in dollars I^n&Z3a  
      @i  decimal,    -- interest rate J}PjQ\O3  
      @p  int        -- number of compounding periods k&sf-\!Q  
) V9?"h&1  
RETURNS money ;31SVA$/  
AS ndl0M#)Uq  
BEGIN WP!o`-w}  
      -- Declare the return variable here ?8`-^|"US  
      DECLARE @Result money h]T"l~  
      -- Add the T-SQL statements to compute the return value here x7"FF`  
      SELECT @Result = @pv *Power((1+@i),@p) {U#rp?]-  
      -- Return the result of the function KPEpD# o0  
      RETURN @Result gp/Xk m(4E  
END <$a.U]X  
GO nE0rl38~  
4}t+Y9l3  
一旦您的手边拥有了公式,那么为应用软件创建函数就不再是一件困难的事情了,例如,如果值存储在表格中,您可以将它们作为参数传递给函数。 S<q7kcxE  
R;?vn6
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章