我想創建一個用戶定義的函數,帶2個參數聯邦提交狀態字符1,其中有像S和M這樣的數據,它們是單一的,並且已經結婚了,第二個參數是狀態字符2,其中已經在表格中創建了數據EmployeeTransfers具有MS,FL,NY等。創建一個用戶定義的函數?
我有創建返回其數據類型的字符1 與此邏輯例子的代碼中的一個的functoin: IF狀態= NY和 聯邦歸檔單(S )則代碼爲A 或聯邦歸檔已婚(M)則代碼爲B
等等......
所以我的代碼我的回報是NULL我天璣KNW如何設置返回更具體的
create function dbo.GetStateFilingStatus
(
@federalfilingstatus char(1),
@state char(2)
) returns char(1)
as
begin
declare @code char(1) = null
select @federalfilingstatus = EmpFederalFilingStatus from EmployeeTransfers
where @state = EmpTransferState
if (@state = 'MS' AND @federalfilingstatus = 'S')
set @code = 'A'
return @code
if (@state = 'MS' AND @federalfilingstatus = 'M')
set @code = 'M'
return @code
if (@state = 'NJ' AND @federalfilingstatus = 'S')
set @code = 'B'
return @code
if (@state = 'NJ' AND @federalfilingstatus = 'M')
set @code = 'A'
return @code
if (@state = 'AZ' AND @federalfilingstatus = 'S')
set @code = 'A'
return @code
if (@state = 'AZ' AND @federalfilingstatus = 'M')
set @code = 'B'
return @code
if (@state = 'CT' AND @federalfilingstatus = 'S')
set @code = 'F'
return @code
if (@state = 'CT' AND @federalfilingstatus = 'M')
set @code = 'M'
return @code
if (@state = 'DC' AND @federalfilingstatus = 'S')
set @code = 'S'
return @code
if (@state = 'DC' AND @federalfilingstatus = 'M')
set @code = 'Y'
return @code
end
Go
我試着用
select dbo.GetStateFilingStatus(EmpTransferState ,EmpFederalFilingStatus) as StateFilingStatus from EmployeeTransfers
我的回報是空值來執行它。
你有任何標記MySQL *和* SQL Server的原因嗎? – DavidG