none
Consulta SQL

    Question

  • Hola a todos tengo esta consulta SELECT ISNULL(MAX(idproveedor) + 1, 0) AS idproveedor FROM Proveedores donde obtengo el id pero quiere darle formato de 6 digitos como lo puedo hacer.

    Lo quiero así 000038 por ejemplo pero me esta arrojando 38 


    Pedro Avila

    Friday, September 28, 2012 11:28 PM

Answers

  • Te posteo un código de ejemplo:

    declare @entero  int, @formateado varchar(6)
            
    SET @entero=38        
    SET  @formateado=RIGHT('000000' + CAST(@entero as varchar(6)),6)
    SELECT @formateado


    "How many years can some people exist before they're allowed to be free" Bob Dylan Email: info@geohernandez.com Blog: geeks.ms/blogs/ghernandez

    Friday, September 28, 2012 11:52 PM

All replies

  • Te posteo un código de ejemplo:

    declare @entero  int, @formateado varchar(6)
            
    SET @entero=38        
    SET  @formateado=RIGHT('000000' + CAST(@entero as varchar(6)),6)
    SELECT @formateado


    "How many years can some people exist before they're allowed to be free" Bob Dylan Email: info@geohernandez.com Blog: geeks.ms/blogs/ghernandez

    Friday, September 28, 2012 11:52 PM
  • Anadiendo la respuesta de Geovanny, si el idproveedor tiene un numero de digitos variable (no es necesariamente de dos digitos) y necesitas que la cadena final tenga siempre 6 digitos, necesitas calcular la diferencia:

    select REPLICATE('0',6-LEN(CAST(<columna> as varchar(10)))) + CAST(<columna> as varchar(10))

    donde <columna> = ISNULL(MAX(idproveedor) + 1, 0)

    My Blog

    This posting is provided "AS IS" with no warranties, and confers no rights. Please remember to click "Mark as Answer" and "Vote as Helpful" on posts that help you. This can be beneficial to other community members reading the thread.

    Saturday, September 29, 2012 4:22 AM