Quitar ceros al final del campo

20/02/2008 - 18:40 por edwindelgadoc | Informe spam
Hola amigo.
Quisera saber si existe una función en SQL con la q pueda quitar los
ceros (si es que existen) a la derecha de mi columna, por ejemplo :

A000000 -> A
A010000 -> A01
A011100 -> A0111
A011101 -> A011101

Se puede hacer esto o necesariamnete tengo q barrerme la tabla con un
bucle?

Gracias.
Saludos.
 

Leer las respuestas

#1 Rubén Vigón
20/02/2008 - 18:55 | Informe spam
Hola Edwin,

Sólo tienes que crearte una pequeña UDF que lo haga; por ejemplo:

CREATE FUNCTION QuitarCeros(@cad varchar(20))
RETURNS varchar(20)
AS
BEGIN
WHILE RIGHT(@cad, 1) = '0' SET @cad = LEFT(@cad, LEN(@cad) - 1)
RETURN @cad
END

Y luego usarla en tus consultas (no hace falta "barrerte" la tabla para nada); por ejemplo:

SELECT 'A000000' AS Antes, dbo.QuitarCeros('A000000') AS Despues
SELECT 'A010000' AS Antes, dbo.QuitarCeros('A010000') AS Despues
SELECT 'A011100' AS Antes, dbo.QuitarCeros('A011100') AS Despues
SELECT 'A011101' AS Antes, dbo.QuitarCeros('A011101') AS Despues

Antes Despues
A000000 A
A010000 A01
A011100 A0111
A011101 A011101

Un saludo!

Rubén Vigón
Microsoft MVP Visual Basic
http://vigon.mvps.org

Preguntas similares