Sql server 如何在T-SQL中创建一个可以在许多数据库上使用的用户定义函数?
我处理的大多数流程都基于月末。我创建了一个用户定义的函数,用于计算上月的最后一个dat。如何创建该函数以便可以跨多个数据库使用Sql server 如何在T-SQL中创建一个可以在许多数据库上使用的用户定义函数?,sql-server,tsql,Sql Server,Tsql,我处理的大多数流程都基于月末。我创建了一个用户定义的函数,用于计算上月的最后一个dat。如何创建该函数以便可以跨多个数据库使用 RETURNS date AS BEGIN DECLARE @LastDayLastMonth Date; set @LastDayLastMonth = convert(date,DATEADD(DAY,-day(getdate()),GETDATE())); RETURN @LastDayLastMonth; END 内联表值函数将比
RETURNS date
AS
BEGIN
DECLARE @LastDayLastMonth Date;
set @LastDayLastMonth = convert(date,DATEADD(DAY,-day(getdate()),GETDATE()));
RETURN @LastDayLastMonth;
END
内联表值函数将比标量函数性能更好
CREATE FUNCTION GetLastDayOfLastMonth()
RETURNS TABLE WITH SCHEMABINDING AS
RETURN
SELECT CONVERT(DATE, DATEADD(DAY, -DAY(GETDATE()), GETDATE())) as LastDayLastMonth;
如果有适当的权限,只需使用函数:
server.database.schema.object
我猜您在同一个SQL server实例中执行所有操作。如果是这种情况,您可以排除“服务器”名称。我认为您需要使用CLR函数而不是UDF。不确定您是否需要在此处转到CLR,但内联表值函数将比标量函数性能更好。我不认为OP询问函数类型(UDF、CLR、标量等).您如何使用该函数并处理日期时间问题?