在使用數據庫的過程中,往往我們需要對有的數據先進行計算,然后再查詢出來,所以我們就需要創建函數來完成這項任務。
創建的函數一般有兩種返回類型,一種是返回一個集合(數據表),另一種是直接返回一個字符串。
下面是兩種函數的創建實例
1、集合
創建函數fn_selectWorkTime
Create FUNCTION fn_selectWorkTime ( @plantID int , @CheckTime datetime --考勤時間 , @deptID int --部門 , @wShop int --工段 , @roleID int --崗位 , @wGroup int --班組 , @uID int --員工 ) RETURNS @retValue Table (atWork datetime, offWork datetime) AS BEGIN Declare @onTime datetime , @offTime datetime --...... Set @onTime = '2016-07-01 08:00' Set @offTime = '2016-07-01 17:00' Insert Into @retValue(atWork, offWork) Values(@onTime, @offTime) Return END --在存儲過程中調用所創建的函數 Select * From dbo.fn_selectWorkTime(@plantid, @time1, @deptID, @wShop, @roleID, @wGroup, @uid5)
2、字符串
創建函數 fn_calStdAtt
CREATE FUNCTION fn_calStdAtt ( @CheckTime datetime --考勤時間 , @deptID int --部門 , @wShop int --工段 , @roleID int --崗位 , @wGroup int --班組 , @uID int --員工 , @which char(1) --I:上班時間,O:下班時間 ) RETURNS varchar(20) AS BEGIN Declare @retValue datetime --...... Set @retValue = '2016-07-01 08:00' Return Convert(varchar(20), @retValue, 120) END --在存儲過程中調用所創建的函數 select dbo.fn_calStdAtt (@CheckTime, @deptID, @wShop, @roleID, @wGroup, @uID, @which)