none
Agregar Digitos a un codigo especifico. RRS feed

  • Pregunta

  • Buenos dias alguien me puede apoyar con el query para agregar un digito mas.

    tengo este codigo CO-2019-00046 pero necesito agregarle un 0 mas por delante de la ultima secuencia de numeros, 

    CO-2019-000046

    a quien pueda colaborar por favor y gracias

    miércoles, 6 de noviembre de 2019 14:54

Todas las respuestas

  • Deleted
    miércoles, 6 de noviembre de 2019 14:59
  • Hola Guille_TI:

    Si lo que tienes no es un valor específico sino una serie de valores para una columna de este tipo y formato, puedes hacer algo similar a esto.

    DECLARE @TABLE TABLE (ID INT, COL VARCHAR(13))
    INSERT INTO @TABLE (ID, COL)
    VALUES
    (1,'CO-2019-00046'),
    (2,'CO-2019-00047')
    
    SELECT
     ID,
      LEFT(T.COL,8)+ right((REPLICATE('0',5)+ (RIGHT(T.COL,5))),6)
     
    FROM @TABLE T;

    Y a esto, si es tu escenario, se le puede aplicar una update.

    Salida




    miércoles, 6 de noviembre de 2019 15:19
  • Puedes usar lo siguiente

    DECLARE @n TABLE (CodigoOriginal nvarchar(20),CodigoActualizado nvarchar(20));
    
    INSERT @n
    SELECT t.codigo,  LEFT(t.codigo,9)+RIGHT('000000' + Ltrim(Rtrim(REVERSE(LEFT(REVERSE(t.codigo), CHARINDEX('-', REVERSE(t.codigo))-1 )))),6)
    FROM dbo.test  t
    
    SELECT * FROM @n
    
    UPDATE t
        SET t.codigo=n.CodigoActualizado
    FROM @n n
    INNER JOIN dbo.test t ON t.codigo = n.CodigoOriginal

    y tu resultado sera 

    Ojala te sea de utilidad


    Damian C M

    miércoles, 6 de noviembre de 2019 15:55