在SQL中返回固定数量值的最有效方法

时间:2014-10-27 20:32:37

标签: sql-server performance tsql stored-procedures

我需要一点一点的代码才能一遍又一遍地执行。我将字符串拆分为名字,中间名和姓氏。

DECLARE @SpaceIndex int,
    @LastSpaceIndex int,
    @Length int

SET @Length = LEN(@Name)
SET @LastSpaceIndex = @Length - CHARINDEX(' ', REVERSE(@Name))
Set @SpaceIndex = CHARINDEX(' ', @Name)

    SELECT SUBSTRING(@Name, 0, @SpaceIndex) As FirstName, 
        SUBSTRING(@Name, @SpaceIndex + 1, @LastSpaceIndex - @SpaceIndex) As MiddleName, 
        SUBSTRING(@Name, @LastSpaceIndex + 1, @Length - @LastSpaceIndex) As LastName

我决定将其转换为带有输出参数的表函数或sproc,但我不确定哪种方式更好。

在SQL中返回三个值的最佳方法是什么?

对于参考名称,可以如下所示: ' John Doe',Doe',' John W Doe' Jane Whilma Alice Doe'

由于

1 个答案:

答案 0 :(得分:1)

最有效的方法是在客户端软件中处理此问题。假设你不能,那么输出参数似乎是两者中更有效的方法。

来源: