Phi*_*ilC 6 sql sql-server ssms sql-server-2008
我在SQL中使用Parsename,并希望提取项目列表中的最后一个元素.我使用以下代码.
Declare @string as varchar(1000)
set @string = '25.26.27.28'
SELECT PARSENAME(@string, 1)
Run Code Online (Sandbox Code Playgroud)
这可以正常工作并返回值28.但是,如果我将列表扩展到超过4个项目,那么结果将返回NULL.例如:
Declare @string2 as varchar(1000)
set @string2 = '25.26.27.28.29'
SELECT PARSENAME(@string2, 1)
Run Code Online (Sandbox Code Playgroud)
我希望这返回值29但是只返回NULL
我敢肯定有一个简单的解释,这可以有人帮忙吗?
Ale*_* K. 11
PARSENAME专门用于解析sql对象名称.后一个示例中的句点数量使其免于这样的名称,因此呼叫正确失败.
代替
select right(@string2, charindex('.', reverse(@string2), 1) - 1)
Run Code Online (Sandbox Code Playgroud)