¿Cómo obtener la parte numérica de una cadena usando T-SQL?
Tengo la siguiente cadena.
Input
--------------
2030031469-NAI
Para obtener la parte numérica, estoy usando el siguiente script
declare @str varchar(50)= '2030031469-NAI'
Select
@str
,SUBSTRING(@str, 1, NULLIF(CHARINDEX('-', @str) - 1, -1))
,Left(@str,PATINDEX('%-%',@str)-1)
para obtener la siguiente salida
Output:
----------
2030031469
¿Hay alguna otra manera fácil / elegante de hacer lo mismo?