Sqlserver 自定义函数 传参有返回值
alter function 函数名(@STAFFTITLE int)
returns varchar(20) --设置返回值 不要把returns写错成return了 AS BEGIN
DECLARE @RETURNVALUE varchar(20) --返回值接收变量 IF @STAFFTITLE = 1 BEGIN
SET @RETURNVALUE = '初级职称' END
ELSE IF @STAFFTITLE = 2 BEGIN
SET @RETURNVALUE = '中级职称' END
ELSE IF @STAFFTITLE = 3 BEGIN
SET @RETURNVALUE = '高级职称' END
ELSE IF @STAFFTITLE = 4 BEGIN
SET @RETURNVALUE = '高级专家(教授级高工以上)' END
RETURN @RETURNVALUE --返回结果 END
执行查询函数操作
SELECT dbo.StaffTitles(1)
在sql里执行函数
SELECT
StaffID,StaffName,StaffUnit,ISNULL((SELECT dbo.StaffTitles(StaffTitle)),'')as
StaffTitle,StaffIdnum,StaffWork,StaffAmount,StaffPrice,StaffAdPrice,(StaffQuantity*Sta
ffPrice*StaffAmount) as StaffSumPrice,'' as StaffAdSumPrice FROM BERS_STAFF_COSTS_DETAIL
alter function 函数名(@STAFFTITLE int)
returns varchar(20) --设置返回值 不要把returns写错成return了 AS BEGIN
DECLARE @RETURNVALUE varchar(20) --返回值接收变量 IF @STAFFTITLE = 1 BEGIN
SET @RETURNVALUE = '初级职称' END
ELSE IF @STAFFTITLE = 2 BEGIN
SET @RETURNVALUE = '中级职称' END
ELSE IF @STAFFTITLE = 3 BEGIN
SET @RETURNVALUE = '高级职称' END
ELSE IF @STAFFTITLE = 4 BEGIN
SET @RETURNVALUE = '高级专家(教授级高工以上)' END
RETURN @RETURNVALUE --返回结果 END
执行查询函数操作
SELECT dbo.StaffTitles(1)
在sql里执行函数
SELECT
StaffID,StaffName,StaffUnit,ISNULL((SELECT dbo.StaffTitles(StaffTitle)),'')as
StaffTitle,StaffIdnum,StaffWork,StaffAmount,StaffPrice,StaffAdPrice,(StaffQuantity*Sta
ffPrice*StaffAmount) as StaffSumPrice,'' as StaffAdSumPrice FROM BERS_STAFF_COSTS_DETAIL