我怎样才能让sql接受刺痛并返回传入其中的每个单词的第一个字母.
我想使用这个UDF为数据库中的人名创建首字母.
名称可以是2(fname,lname)或3(… mname)个单词
我正在使用sql2005
解决方法
CREATE FUNCTION dbo.GetFirstLetter ( @Array VARCHAR(1000),@separator VARCHAR(10)) RETURNS @resultTable TABLE (parseValue VARCHAR(100)) AS BEGIN DECLARE @separator_position INT DECLARE @array_value VARCHAR(1000) SET @array = @array + @separator WHILE patindex('%' + @separator + '%',@array) <> 0 BEGIN SELECT @separator_position = patindex('%' + @separator + '%',@array) SELECT @array_value = left(@array,@separator_position - 1) INSERT @resultTable VALUES (SUBSTRING(Cast(@array_value AS varchar),1,1)) SELECT @array = stuff(@array,@separator_position,'') END RETURN END