2014-05-04 67 views
2

我正在寫一個函數,我需要從基於包含用戶電子郵件的逗號分隔字符串的表中獲取標題(例如Mr/Miss/Mrs)FirstName和LastName。爲什麼我的SQL函數返回意外的值?

到目前爲止,我已經嘗試以下

My SQL FiddlePS。首先建立小提琴手頁上的架構,然後嘗試執行查詢

當我運行以下

select dbo.fn_getUserNamefrmEmail('[email protected]') 

我得到適當的輸出Mr. Abc Def

,但是當我嘗試運行

select dbo.fn_getToUserNames('[email protected], [email protected], [email protected], [email protected]',',') 

我得到NULL - 0,因爲如果它是NULL,我將結果設置爲0

我無法理解我做錯了什麼,需要幫助。

+1

+1準備小提琴。如果每個人都可以做到這一點...... – Szymon

回答

5

只有一個小問題。

更改線路

DECLARE @result_string nvarchar(max) 

DECLARE @result_string nvarchar(max) = '' 

您還沒有初始化變量@result_string所以當你做

SELECT @result_string = @result_string + ', ' + @temp 

它仍然無效而最終的結果是空值。

正確版本SQL Fiddle

+1

這是正確的catch .. :) –