sql-server-2005 – sql选择一个人名字符串并输出首字母

前端之家收集整理的这篇文章主要介绍了sql-server-2005 – sql选择一个人名字符串并输出首字母前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我怎样才能让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

猜你在找的MsSQL相关文章