Buscar caracteres numéricos

17/10/2005 - 19:29 por Miguel | Informe spam
Por favor, necesito saber si existe alguna función en la cual se pueda sacar
de una cadena de caracteres los que sean numéricos, por ejemplo:

AB02GF = 02
45BYTY = 45
SDCF34 = 34

He buscado en las funciones de cadenas de caracteres y no veo alguna en que
lo pueda hacer ya sea sola o combinándola.

Gracias
 

Leer las respuestas

#1 Alejandro Mesa
18/10/2005 - 00:33 | Informe spam
Miguel,

La funcion no existe, pero puedes implementarla. Te seran muy util las
funciones "patindex" y "replace".

Ejemplo:

create function dbo.f1 (
@s varchar(25)
)
returns varchar(25)
as
begin
declare @c char

set @c = substring(@s, patindex('%[^0-9]%', @s), 1)

while patindex('%[^0-9]%', @s) > 0
begin
set @s = replace(@s, substring(@s, patindex('%[^0-9]%', @s), 1), '')
end

return @s
end
go

select dbo.f1('abc123def'), dbo.f1('abc123'), dbo.f1('123def'),
dbo.f1('123'), dbo.f1('abcdef')
go

Este codigo no ha sido probado.


AMB

"Miguel" wrote:

Por favor, necesito saber si existe alguna función en la cual se pueda sacar
de una cadena de caracteres los que sean numéricos, por ejemplo:

AB02GF = 02
45BYTY = 45
SDCF34 = 34

He buscado en las funciones de cadenas de caracteres y no veo alguna en que
lo pueda hacer ya sea sola o combinándola.

Gracias



Preguntas similares