我正在编写一个函数,我需要根据包含用户电子邮件的逗号分隔字符串从表中获取Title(例如Mr / Miss / Mrs)FirstName和LastName。
到目前为止,我已尝试过
My SQL Fiddle PS。首先在fiddler页面上构建架构,然后尝试执行查询
当我按照
运行时select dbo.fn_getUserNamefrmEmail('abc.def@gmail.com')
我得到正确的输出Mr. Abc Def
但是当我尝试运行时
select dbo.fn_getToUserNames('abc.def@gmail.com, pqr.stu@gmail.com, xyz.mno@gmail.com, stu.v@gmail.com',',')
我得到NULL - 0,因为我将结果设置为0,如果它是NULL
我无法理解我做错了什么并需要帮助。
答案 0 :(得分:5)
只有一个小问题。
更改行
DECLARE @result_string nvarchar(max)
到
DECLARE @result_string nvarchar(max) = ''
您尚未初始化@result_string变量,因此在执行
时它仍为nullSELECT @result_string = @result_string + ', ' + @temp
最终结果仍为空。
更正SQL Fiddle中的版本。