我有一个名为“PersonNameID”的列名
其中包含两个值
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
对上述代码进行任何修改以获得所需的输出?