gpt4 book ai didi

tsql - 如何在 T-SQL 中获取可变大小的 nvarchar 的最后一部分?

转载 作者:行者123 更新时间:2023-12-04 23:06:37 26 4
gpt4 key购买 nike

假设我的 nvarchar 变量中有以下值:

DECLARE @txt nvarchar(255)
SET @txt = '32|foo|foo2|123'

在这种情况下,有没有办法轻松获取最后一个 | 之后的最后一部分,即 123

我可以编写一个split 函数,但我对这个字符串的第一部分不感兴趣。有没有另一种方法可以在不获取字符串的第一部分的情况下获取字符串的最后一部分?

请注意,我的字符串的所有部分都具有可变大小。

最佳答案

您可以使用 LEFT 的组合, REVERSECHARINDEX为了这。下面的查询反转字符串,找到第一次出现的 |,去掉其他字符,然后将字符串拉直。

DECLARE @txt nvarchar(255)
SET @txt = '32|foo|foo2|123'

SELECT REVERSE(LEFT(REVERSE(@txt),CHARINDEX('|',REVERSE(@txt))-1))

输出

123

编辑

如果您的字符串只有 4 个或更少的部分并且 . 不是有效字符,您也可以使用 PARSENAME为此。

DECLARE @txt nvarchar(255)
SET @txt = '32|foo|foo2|123'
SELECT PARSENAME(REPLACE(@txt,'|','.'),1)

关于tsql - 如何在 T-SQL 中获取可变大小的 nvarchar 的最后一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30615399/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com