Jak uzyskać część numeryczną z ciągu za pomocą T-SQL?

Mam następujący ciąg.

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

Aby uzyskać część numeryczną, używam następującego skryptu

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

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

aby uzyskać następujące dane wyjściowe

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

Czy jest jakiś inny łatwy / elegancki sposób na zrobienie tego samego?

questionAnswers(4)

yourAnswerToTheQuestion