create function 架構名.function_name(@傳入變數1 變數_型別, @傳入變數2 變數_型別......)
returns return_date_type
asbegin
--declare the return variable here
declare @variable1 variable_type...
...--add the t-sql statements to compute the return value here
--return the result of function
return @..
endgo
執行函式體
--方法一 select 架構名.functionname(..引數)
--方法二 用executr關鍵字來執行標量值函式,此外還可以用於儲存過程等,
首先要申明乙個用於儲存輸出的變數,然後execute來呼叫函式
declare @val1 val_type;
execute @val1 = 架構名.functionname @傳入變數名 = '...'
修改函式的話
alter function
functionname
()//....後面就和建立的差不多啦
例子
//求 輸入乙個employee的出生日期,求的他的年齡,用乙個函式實現
create function dbo.getemployeeage(@birthdate datetime)
returns int
asbegin
declare @age
intselect
@age = datediff(year, @birthdate, getdate())
return
@age
endgo
select dbo.getemployeeage('3/23/1982')
或者declare @age
int;
exec
@age = dbo.getemployeeage @birthdate='3/23/1982'
create function 架構名.functionname (@傳入引數 引數累心,...
.)returns table
as--function body
return(select
.....from...
...(where
...))
go
執行函式體
用select執行
select * from 架構名.函式名(引數1,引數2.
...)
例子
使用student資料庫中適當的表,建立乙個自定義函式-xbxs,該函式可以根據輸入的系部名稱返回學生的學號,姓名和入學時間。
create function xbxs(@sdeptno nvarchar(20))
returns table
as return (select sno 學號, sname 姓名, null 入學時間 from dbo.student)
goselect * from dbo.xbxs('cs')
go
使用者自定義函式
舉例來說明 cat datafile northwest nw joel craig 3.0 98 3 4 western we sharon kelly 5.3 97 5 23 southwest sw chris foster 2.7 8 2 18 southern so may chin 5....
SQL 使用者自定義函式
使用者自定義函式是 sql server 的資料庫物件,它不能用於執行一系列改變資料庫狀態的操作,但它可以像系統函式一樣在查詢或儲存過程等的程式段中使用,也可以像儲存過程一樣通過 execute 命令來執行。使用者自定義函式中儲存了乙個 transact sql 例程,可以返回一定的值。在sql s...
hive使用者自定義函式
1 繼承udf類,實現evaluate函式。2 繼承抽象類genericudf,可以處理標準udf無法處理的操作,比如可以根據語句中輸入的引數而產生複雜的處理邏輯。3 udaf自定義聚合函式。4 udtf自定義表生成函式,繼承抽象類genericudtf。5 巨集命令 提供了hiveql中呼叫其它函...