我有一个bigdate,一个smalldate,即bigdate大于smalldate,我想通过一个函数实现以下代码。如何将其转换为函数?
NUMTODSINTERVAL (
CASE
WHEN TRUNC(datebig - datesmall) = 0
THEN datebig - datesmall
ELSE(
CASE
WHEN datebig - TRUNC (datebig) > (21 / 24)
THEN TRUNC (datebig) + (21 / 24)
ELSE datebig
END -
CASE
WHEN datesmall - TRUNC (datesmall) < (11 / 24)
THEN TRUNC (datesmall) + (11 / 24)
ELSE datesmall
End)
End , 'DAY')
答案 0 :(得分:0)
如果您要问的是如何创建一个函数,这将删除目标函数并创建新函数。
IF OBJECT_ID (N'dbo.YourNewFunction', N'FN') IS NOT NULL
DROP FUNCTION dbo.YourNewFunction;
GO
CREATE FUNCTION dbo.ISOweek (@DATESMALL DATETIME, @DATEBIG DATETIME)
RETURNS INT
WITH EXECUTE AS CALLER
AS
BEGIN
-- ENTER FUNCTION
RETURN 0
END
GO
这会调用你的新功能。
SELECT dbo.YourNewFunction(GetDate(), GetDate())