1
我有一小段代碼需要一遍又一遍地執行。我將一個字符串分爲第一個,中間和最後一個名字。在SQL中返回固定數量值的最有效方法
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
我決定把它變成一個表格函數或帶有輸出參數的存儲過程,但我不確定哪種方法更好。
在SQL中返回三個值的最佳方法是什麼?
僅供參考名稱可以是這樣的: 「李四」,「李四」,「約翰·w ^李四」,「簡Whilma愛麗絲母鹿」
感謝
不知道關於 「更好」,但我通常喜歡在存儲過程的功能,這樣我可以使用'APPLY'。 – 2014-10-27 20:43:11