Consulta de seleção do T-SQL para remover caracteres não numéricos

Eu tenho dados sujos em uma coluna com comprimento alfa variável. Eu só quero tirar tudo que não é 0-9.

Eu não quero executar uma função ou proc. Eu tenho um script que é semelhante que apenas pega o valor numérico após o texto, parece com isso:

Update TableName
set ColumntoUpdate=cast(replace(Columnofdirtydata,'Alpha #','') as int)
where Columnofdirtydata like 'Alpha #%'
And ColumntoUpdate is Null

Eu pensei que iria funcionar muito bem até que descobri que alguns dos campos de dados que eu pensei que seria apenas no formato Alpha # 12345789 não são ...

Exemplos de dados que precisam ser removidos

AB ABCDE # 123
ABCDE# 123
AB: ABC# 123

Eu só quero o 123. É verdade que todos os campos de dados têm o # antes do número.

Eu tentei substring e PatIndex, mas eu não estou recebendo a sintaxe correta ou algo assim. Alguém tem algum conselho sobre a melhor maneira de resolver isso?

Obrigado!

questionAnswers(14)

yourAnswerToTheQuestion