我在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
语句有所了解,但无法使函数语法正确创建。