如何在输入参数中的第二次哈希后获取值

Mad*_*Dev 2 sql t-sql sql-server

我的下面的 t-sql 仅当输入参数中有一个哈希符号时才有效。

如何将其更改为这样我可以获得第二个哈希符号之后的值?

REVERSE我想我需要使用和的组合,RIGHT但我不明白。

DECLARE @SEAL_SECURITY3 As Varchar(50); SET @SEAL_SECURITY3 = NULL;
DECLARE @SEAL_SECURITY As Varchar(50); SET @SEAL_SECURITY = 'MS-7#MS-8#MS-9'

SET @SEAL_SECURITY3 = CASE WHEN CHARINDEX('#', @SEAL_SECURITY) = 0 THEN NULL 
ELSE SUBSTRING(@SEAL_SECURITY, CHARINDEX('#', @SEAL_SECURITY) + 1, LEN(@SEAL_SECURITY) - CHARINDEX('#', @SEAL_SECURITY) + 1) 
END 

SELECT @SEAL_SECURITY3
Run Code Online (Sandbox Code Playgroud)

结果是 MS-8#MS-9

期望的结果是 MS-9

更新

是否可以通过更改SET ELSE块而不是SELECT语句来获得所需的结果?

Jay*_*hav 5

如果您使用的是 SQL SERVER 并且在您的字符串中,计数#始终小于等于 4,那么下面的脚本将有助于获得所需的结果

SELECT PARSENAME(REPLACE(@SEAL_SECURITY,'#','.'),1)
Run Code Online (Sandbox Code Playgroud)