Parte numerica de un campo

07/12/2007 - 20:17 por Antonio Ortiz | Informe spam
Existe alguna manera de obtener la parte numerica de un campo?

Por ejemplo:

A101
AB2
XYZ12345

quiero obtener:
101
2
12345

Se agradece cualquier ayuda, estoy atorado con esto.

Antonio Ortiz
asesor en sistemas
www.aortiz.net
www.progvisual.com
 

Leer las respuestas

#1 Alejandro Mesa
07/12/2007 - 20:33 | Informe spam
Antonio Ortiz,

Trata:

SELECT
CASE WHEN c1 LIKE '%[0-9]%' THEN RIGHT(c1, PATINDEX('%[^0-9]%',
REVERSE(c1)) - 1) ELSE c1 END AS c1
FROM
(
SELECT 'A101' AS c1
UNION ALL
SELECT 'AB2'
UNION ALL
SELECT 'XYZ12345'
UNION ALL
SELECT 'Microsoft SQL Server 2008'
) AS t
GO

Si los digitos no estan siempre a la derecha, entonces tendras que crear una
funcion que devuelva solo los caracteres numericos.


AMB

"Antonio Ortiz" wrote:

Existe alguna manera de obtener la parte numerica de un campo?

Por ejemplo:

A101
AB2
XYZ12345

quiero obtener:
101
2
12345

Se agradece cualquier ayuda, estoy atorado con esto.

Antonio Ortiz
asesor en sistemas
www.aortiz.net
www.progvisual.com



Preguntas similares