如何在T-SQL中创建可以在许多数据库上使用的用户定义函数?

时间:2014-07-28 12:53:40

标签: sql-server tsql

我使用的大多数进程都是基于月末。我创建了一个用户定义的函数来计算上个月的最后一个数据。如何创建函数以便可以跨多个数据库使用?

RETURNS date
AS
BEGIN
    DECLARE @LastDayLastMonth Date;

    set @LastDayLastMonth =  convert(date,DATEADD(DAY,-day(getdate()),GETDATE()));

    RETURN @LastDayLastMonth;
END

1 个答案:

答案 0 :(得分:0)

而不是标量函数,内联表值函数将表现得更好。

CREATE FUNCTION GetLastDayOfLastMonth()
RETURNS TABLE WITH SCHEMABINDING AS
    RETURN 
    SELECT CONVERT(DATE, DATEADD(DAY, -DAY(GETDATE()), GETDATE())) as LastDayLastMonth;