rsocol:Singura problemă ar fi faptul că nu poţi folosi GETDATE() într-o funcţie, dar se rezolvă uşor trimiţând ca parametru valoarea datei curente.
Pe 2000 ! Pentru toate celelante există SQL200[5|8]:
CREATE FUNCTION Varsta( @data_n DATETIME )
RETURNS INT
AS
BEGIN
DECLARE @ani INT
SET @ani = DATEDIFF( yyyy , @data_n , GETDATE() )
RETURN @ani
END;
GO
SELECT dbo.Varsta( '1977-01-08' ) AS PestePrajit;
GO
CREATE FUNCTION uspGetLastIdOfAddedArticle(@ParentId INT)
RETURNS INT
BEGIN
DECLARE @CurrentDate DATETIME
SET @CurrentDate = GETDATE()
RETURN
(
SELECT TOP 1 TabId FROM dbo.Tabs
WHERE
ParentId=@ParentId and
IsDeleted='False' and
isnull(EndDate,@CurrentDate)>=@CurrentDate and
isnull(StartDate,@CurrentDate)<=@CurrentDate
ORDER BY TabId DESC
)
END