1
En Microsoft SQL , crear una función definida por el usuario como :
CREAR dbo.UDF_NumericOnlyChars FUNCIÓN
(
@ VARCHAR (8000 )
)
RETURNS VARCHAR (8000 )
AS
COMENZAR
DECLARE @ IncorrectCharLoc SMALLINT
< p > SET @ IncorrectCharLoc = PATINDEX ( '% [ ^ 0-9 ]% ', @ cadena)
MIENTRAS @ IncorrectCharLoc > 0
COMENZAR
SET @ NumericString = COSAS (@ NumericString , @ IncorrectCharLoc , 1 ,'')
SET @ IncorrectCharLoc = PATINDEX ( '% [ ^ 0-9 ]% ', @ NumericString )
End of < p> Si (@ NumericString ='' )
SET @ NumericString = '0 '- Esto asegurará que una cadena de números se devuelve
RETURN @ NumericString
End of
GO
esto se basa en la función definida por el usuario creado por Pinal David
2
Utilice la función de la siguiente manera: .
< p . > Seleccione [ dbo ] UDF_NumericOnlyChars ( ' sadDs132 # dds @ 19 ' )
que devolverá :
13219
3
Utilice la función de una columna de tabla que sólo devuelve los dígitos numéricos de la cadena:
Seleccione Nombre, Apellido , Teléfono , UDF_NumericOnlyChars ( Phone) como " NumberOnly " de tblPeople
que devolverá :
< p> Nombre Apellido Teléfono NumberOnly
-------------------------------------- -----------------------------
John Doe (888) 555-1212 8885 551212