Consulta de selección T-SQL para eliminar caracteres no numéricos
Tengo datos sucios en una columna con longitud alfa variable. Solo quiero quitar todo lo que no sea 0-9.
No quiero ejecutar una función o proc. Tengo una secuencia de comandos que es similar que simplemente toma el valor numérico después del texto, se ve así:
Update TableName
set ColumntoUpdate=cast(replace(Columnofdirtydata,'Alpha #','') as int)
where Columnofdirtydata like 'Alpha #%'
And ColumntoUpdate is Null
Pensé que funcionaría bastante bien hasta que encontré que algunos de los campos de datos que pensé que solo tendrían el formato Alpha # 12345789 no son ...
Ejemplos de datos que deben ser eliminados
AB ABCDE # 123
ABCDE# 123
AB: ABC# 123
Solo quiero el 123. Es cierto que todos los campos de datos tienen el # antes del número.
Probé subcadena y PatIndex, pero no estoy obteniendo la sintaxis correcta o algo así. ¿Alguien tiene algún consejo sobre la mejor manera de abordar esto?
¡Gracias!