udf和儲存過程很類似,使用者自定義函式是一組有序的t-sql語句,這些語句被預先優化和編譯,並且可以作為乙個單元來測試呼叫。udf和儲存過程的主要區別在於結果返回方式,為了能支援更多返回值,udf比儲存過程有跟多限制。
udf基本語法:create function ( [default value][......n)
returns 《返回型別》
as begin /****/ end
試一試最簡單是udf:
createview codefunction fun_getdatediff(@startdate
datetime,@enddate
datetime
)returns
intas
begin
return
datediff(month,@startdate,@enddate
);end
goselect productid,sum(linetotal) from purchasing.purchaseorderdetail where dbo.fun_getdatediff(duedate,getdate())=
142/**/
group
by productid --
查詢前的142的資料
修改udf:直接把create 改為alter就可以了。udf基本和儲存過程差不多的。
經典SQL自定義函式
1 確定某年某月有多少天 實現原理 先利用datediff取得當前月的第一天,再將月份加一取得下月第一天,然後減去1分鐘,再取日期的 天數部分,即為當月最大日期,也即當月天數 create function daysinmonth date datetime returns int asbegin ...
經典SQL自定義函式
1 確定某年某月有多少天 實現原理 先利用datediff取得當前月的第一天,再將月份加一取得下月第一天,然後減去1分鐘,再取日期的 天數部分,即為當月最大日期,也即當月天數 create function daysinmonth date datetime returns int asbegin ...
經典SQL自定義函式
1 確定某年某月有多少天 實現原理 先利用datediff取得當前月的第一天,再將月份加一取得下月第一天,然後減去1分鐘,再取日期的 天數部分,即為當月最大日期,也即當月天數 create function daysinmonth date datetime returns int asbegin ...