这是我的字符串:
lid://abcde.ln.ln_dev_510
如何使用LTRIM,RTRIM获取'_'之后的数字。
谢谢。
答案 0 :(得分:2)
LTRIM
和RTRIM
用于删除字符串中的尾随和前导空格。您可以使用以下查询获取数字:
DECLARE @t VARCHAR(MAX)='lid://abcde.ln.ln_dev_510'
SET @t = REVERSE(@t)
SELECT REVERSE(SUBSTRING(@t,1,CHARINDEX('_',@t)-1))
答案 1 :(得分:2)
在使用PARSENAME
的情况下,您可以在最后_
之后获取值。
DECLARE @StringValue AS VARCHAR (500) = 'lid://abcde.ln.ln_dev_510';
SELECT PARSENAME(REPLACE(PARSENAME(@StringValue, 1), '_', '.'), 1)
输出将是:
510
答案 2 :(得分:2)
首先我们向后反转字符串以找到最后出现的'_'符号(因为SQL Server没有其他方法可以在另一个字符串中搜索最后一次出现的字符串,我们需要反转该字符串)。我们得到的数字减去1就是我们必须从原始字符串的右侧部分取得的符号数。
DECLARE @str nvarchar(max) = 'lid://abcde.ln.ln_dev_510'
SELECT RIGHT(@str,CHARINDEX('_',REVERSE(@str))-1)
输出:
510