lunedì 26 agosto 2013

Articoli SQL - Articolo 3 - 26/08/2013: Stored Procedure per estrarre solo caratteri numerici da una stringa.

Qualche mese fa mi è tornato utile utilizzare questa funzione per estrarre solamente i caratteri numerici da alcune stringhe elaborate.

Vorrei condividerla con voi.


CREATE FUNCTION [dbo].[RemoveChars](@Input varchar (300))
RETURNS VARCHAR(300)
BEGIN
   DECLARE @pos INT
   SET @Pos = PATINDEX('%[^0-9]%',@Input)
    WHILE @Pos > 0
      BEGIN
      SET @Input = STUFF(@Input,@pos,1,'')
      SET @Pos = PATINDEX('%[^0-9]%',@Input)
    END
 RETURN @Input

END

Esempio di utilizzo query:
select dbo.RemoveChars('12345---.-.,.,PROVA@@€$&%/&&/6789')

Risultato:



* Considerate che la variabile controllata è settata a 300 caratteri, per stringhe più lunghe occorrerà modificare tale valore.

0 commenti:

Posta un commento

Grazie per aver visitato TheICTAuthority. Nel caso in cui il tuo commento sia una richiesta ti risponderemo al più presto.