「PersonNameID」という列名があります
2 つの値を含む
ABCD-GHJI
ABHK-67891
HJKK-HJJJMH-8990
「-」の後に数字を含む「PersonNameID」の最初の部分のみを抽出する必要があります。理想的には、私の出力は
ABCD-GHJI
ABHK
HJKK-HJJJMH
しかし、次のコードを使用すると:
SELECT TOP 100
CONVERT(NVARCHAR(100),
SUBSTRING(PersonNameID, 1,
CASE
WHEN CHARINDEX('-', PersonNameID) > 0
THEN LEN(PersonNameID) -
LEN(REVERSE(SUBSTRING(REVERSE(PersonNameID), 1, CHARINDEX('-', REVERSE(PersonNameID)))))
ELSE LEN(PersonNameID)
END
)
) AS New_PersonNameID
FROM Person
出力は次のようになります
ABCD
ABHK
HJKK
目的の出力を得るために上記のコードを変更しますか?