【自定义函数】产品销量明细统计表 -- 计算每月的销量

本文介绍了一个用于计算指定年月及料品的总销量的SQL函数。该函数接收三个参数:统计年份、统计月份和料品代码,并返回相应时间段内的料品总销量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

USE [ufida_TSGY_Data]
GO
 
/****** Object:  UserDefinedFunction [dbo].[fn_GetMonthQtyPriceAmount]    Script Date: 12/11/2009 00:07:41 ******/
SET ANSI_NULLS ON
GO
 
SET QUOTED_IDENTIFIER ON
GO
 
 
 
/********************************** 
  产品销量明细统计表 -- 计算每月的销量
  Author : 马琪玉
  Date : 2009年12月11日0:20:58
  
传入参数:
        @Year 
            数据类型:Varchar(50)
            描述:统计年份
            
        @Month
            数据类型:Varchar(50) 
            描述:统计月份
            
        @ItemCode
            数据类型:Varchar(50) 
            描述:需要统计的料品
返回值:
           @QtyPriceAmountSum
            数据类型:Decimal
            描述:指定年月下的料品总销量
**********************************/
CREATE FUNCTION [dbo].[fn_GetMonthQtyPriceAmount]
(
    @Year   Varchar(50),
    @Month  Varchar(50),
    @ItemCode Varchar(50)
)
RETURNS Decimal
AS
BEGIN
    Declare @QtyPriceAmountSum  Decimal;
    
    begin
        select @QtyPriceAmountSum = sum(A1.QtyPriceAmount) from SM_Ship as A left join [SM_ShipLine] as A1 on A1.ItemInfo_ItemCode = @ItemCode
        where YEAR(A.ApproveDate)=@Year and Month(A.ApproveDate) = @Month
        if(@@rowcount = 0) set @QtyPriceAmountSum = 0
        else if(@QtyPriceAmountSum is null) set @QtyPriceAmountSum=0
    end
    return @QtyPriceAmountSum
END;
 
GO
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值