I've got a scalar UDF that is meant to return varchar(8000) but actually only returns 4000 characters. I'm guessing this is a nvarchar/varchar problem but I can't see why/where. The UDF is as follows:CREATE function dbo.udf_getViewFields(@headerId int) returns varchar(8000)asbegin declare @csv varchar(8000) select @csv = Isnull(@csv, '') + ', max(case when fieldID=' + cast(dbo.clFields.fieldID as varchar(5)) + ' then fieldvalue else null end) as [' + dbo.clFields.fieldName + ']' from dbo.iMain INNER JOIN dbo.clFields ON dbo.iMain.fieldID = dbo.clFields.FieldID INNER JOIN dbo.bTypes ON dbo.clFields.bTypeId = dbo.bTypes.bTypeId WHERE (dbo.iMain.headerID = @headerId) Return @csvend
What could be causing this?Thanks,Martin