
نوشته شده توسط
elahe_rahmanzadeh
میشه در مورد function بیشتر توضیح بدید؟
ممنون
User Defined Function در SQL مانند Function ایی هست که شما در محیط برنامه نویسی میسازین و استفاده میکنین یعنی قابل ذخیره شدن هست مانند SP و نیز مقدار خروجی نیز دارد. از قابلیتهای Function : امکان فراخوانی آن در Query ها و همین طور در قسمت From , مربوط به Select میباشد و .....
مثال
In this example, a user-defined function, ISOweek, takes a date argument and calculates the ISO week number. For this function to calculate properly, SET DATEFIRST 1 must be invoked before the function is called.
CREATE FUNCTION ISOweek (@DATE datetime)
RETURNS int
AS
BEGIN
DECLARE @ISOweek int
SET @ISOweek= DATEPART(wk,@DATE)+1
-DATEPART(wk,CAST(DATEPART(yy,@DATE) as CHAR(4))+'0104')
--Special cases: Jan 1-3 may belong to the previous year
IF (@ISOweek=0)
SET @ISOweek=dbo.ISOweek(CAST(DATEPART(yy,@DATE)-1
AS CHAR(4))+'12'+ CAST(24+DATEPART(DAY,@DATE) AS CHAR(2)))+1
--Special case: Dec 29-31 may belong to the next year
IF ((DATEPART(mm,@DATE)=12) AND
((DATEPART(dd,@DATE)-DATEPART(dw,@DATE))>= 28))
SET @ISOweek=1
RETURN(@ISOweek)
END
Here is the function call. Notice that DATEFIRST is set to 1.
SET DATEFIRST 1
SELECT master.dbo.ISOweek('12/26/1999') AS 'ISO Week'
Here is the result set.
ISO Week
----------------
52
اطلاعات بیشتر داخل BOL هست