none
Borrar caracteres Dinamicos

    Pregunta

  • Hola, estoy buscando alguna manera de borrar los digitos 0 que se encuentran a la izquierda en sql server.

    Que estos datos queden así:

    000001994.0000 ----------> 1994.0000

    000049596.0000 ----------> 49596.0000

    002345694.0000 ----------> 2345694.0000

    Intenté hacer un SELECT CAST(CAST(VARIABLE AS INTEGER) AS VARCHAR) pero no me lo permite por el punto.

    Pd: estos datos debo tenerlos en VARCHAR.

    Muchas gracias.


    jueves, 23 de mayo de 2019 20:01

Respuestas

  •         Hola amigo, podes probar de la siguiente forma..

    DECLARE @table TABLE(numeros VARCHAR(100));
    
    INSERT INTO       @table(numeros)
    VALUES            ('000001994.0000'), ('000049596.0000'), ('002345694.0000');
    
     Select REPLACE(LTRIM(REPLACE(numeros,'0',' ')),' ','0') as numero from  @table

    Resultado

    1994.0000

    49596.0000

    2345694.0000

    Ing. Bader Molinas 

    Paraguay

    jueves, 23 de mayo de 2019 20:49

Todas las respuestas

  • Hola Victor Fabian:

    Puedes hacer un cast, pero a decimal

    DECLARE @table TABLE(numeros VARCHAR(100));
    
    INSERT INTO       @table(numeros)
    VALUES            ('000001994.0000'), ('000049596.0000'), ('002345694.0000');
    
    SELECT CAST(t.numeros AS DECIMAL(13, 4))
    FROM   
    	@table t;

    Salida

    (3 filas afectadas)
    ---------------------------------------
    1994.0000
    49596.0000
    2345694.0000
    (3 filas afectadas)

    • Propuesto como respuesta Carlos_Ruiz_M jueves, 23 de mayo de 2019 21:04
    jueves, 23 de mayo de 2019 20:08
  •         Hola amigo, podes probar de la siguiente forma..

    DECLARE @table TABLE(numeros VARCHAR(100));
    
    INSERT INTO       @table(numeros)
    VALUES            ('000001994.0000'), ('000049596.0000'), ('002345694.0000');
    
     Select REPLACE(LTRIM(REPLACE(numeros,'0',' ')),' ','0') as numero from  @table

    Resultado

    1994.0000

    49596.0000

    2345694.0000

    Ing. Bader Molinas 

    Paraguay

    jueves, 23 de mayo de 2019 20:49
  • Hola, estoy buscando alguna manera de borrar los digitos 0 que se encuentran a la izquierda en sql server.
    (...)
    Pd: estos datos debo tenerlos en VARCHAR.

    Utilice decimal (13,4) en lugar de INTEGER (como sugiere Javier) y, a continuación, vuelva a texto.


    -- código #1
    SELECT cast (cast (columna as decimal(13,4)) as varchar(14))
      from ...



    José Diz     Belo Horizonte, MG - Brasil     [T-SQL performance tuning: Porto SQL]   [e-mail]


    Este conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita.

    jueves, 23 de mayo de 2019 23:44