我需要一点一点的代码才能一遍又一遍地执行。我将字符串拆分为名字,中间名和姓氏。
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'
由于
答案 0 :(得分:1)
最有效的方法是在客户端软件中处理此问题。假设你不能,那么输出参数似乎是两者中更有效的方法。
来源: