Sql server 在SQL中返回固定数量值的最有效方法
我有一小段代码需要反复执行。我将一个字符串拆分为名字、中间名和姓氏Sql server 在SQL中返回固定数量值的最有效方法,sql-server,performance,tsql,stored-procedures,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
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·多伊”、“简·惠玛·爱丽丝·多伊”
谢谢最有效的方法是在客户端软件中处理此问题。假设您不能,那么输出参数似乎是这两种方法中更有效的方法 资料来源:
- [2013]
- [2009]
APPLY
。