Wie erhalte ich den numerischen Teil mit T-SQL aus einer Zeichenfolge?

Ich habe die folgende Zeichenfolge.

Input
--------------
2030031469-NAI 

Um den numerischen Teil zu erhalten, verwende ich das folgende Skript

declare @str varchar(50)= '2030031469-NAI'

Select 
    @str
    ,SUBSTRING(@str, 1,  NULLIF(CHARINDEX('-', @str) - 1, -1))
        ,Left(@str,PATINDEX('%-%',@str)-1)

um die folgende Ausgabe zu erhalten

Output: 
----------
2030031469

Gibt es eine andere einfache / elegante Möglichkeit, dasselbe zu tun?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage