将辅助错误消息添加到用户创建的函数

时间:2018-05-08 21:34:05

标签: tsql sql-server-2014

我在SQL Server 2014中有这个功能:

CREATE FUNCTION [dbo].[jdate_practice] 
     (@p1 INT,
      @p2 CHAR(8)) 
RETURNS INT
AS 
BEGIN
    DECLARE @v2 DATETIME
    SET @v2 = CAST(@p2 AS DATETIME)

    RETURN ((DATEPART(yyyy, @v2) * 12) + 
             DATEPART(mm, @v2)) - ((@p1 * 12) + 6) 
END

这样

select dbo.jdate_practice(2018, '20180701')

返回数字1,因为2018年是财政年度的开始,20180701是财政年度的第一个月。

我想包含一个错误处理功能,以便在没有提供任何参数的情况下,而不是提供默认的

  

提供的参数数量不足......

该函数将返回

  

请输入YYYY格式的年份@ p1

  

请输入YYYYMMDD格式的日期@ p2

我自己编写了这篇文章,并对IF语句和THROW语句有所了解,但无法使函数语法正确创建。

0 个答案:

没有答案