none
SQL Server - Valor entero con formato RRS feed

  • Pregunta

  • ¡Hola a todos!

    Tengo una tabla con una columna llamada "Codigo" la cual almacena valores enteros como los siguientes: 10000000, 11000000...

    El problema que tengo es que al momento de realizar una consulta quiero que esos valores aparezcan con el siguiente formato, 1.0.00.00.00 y para ello probé lo siguiente:

    FORMAT(Codigo, '#.#.##.##.##') AS CodFormato

    Sin embargo, me muestra los valores sin el formato establecido. Me gustaría saber como puedo solucionarlo.

    Saludos.


    jueves, 20 de septiembre de 2018 21:32

Respuestas

  • Hola Pyrus Rosidae:

    Una solución posible.

    DECLARE @table TABLE(numero INT);
    INSERT INTO @table(numero)
    VALUES(11000000), (10000000), (1000000), (100000), (10000);
    SELECT replace(format(numero, '#-#-##-##-##'), '-', '.') AS FORMATEADO,
           SUBSTRING((replace(format(numero, '#-#-##-##-##'), '-', '.')), PATINDEX('%[0-9]%', (replace(format(numero, '#-#-##-##-##'), '-', '.'))), LEN(format(numero, '#-#-##-##-##'))) AS FORMATEADO_ELIMINA_IZQ
    FROM @table;
    

    Salida

    Un saludo

    • Marcado como respuesta Pyrus Rosidae viernes, 21 de septiembre de 2018 13:20
    viernes, 21 de septiembre de 2018 5:39

Todas las respuestas

  • Hola Pyrus Rosidae:

    Una solución posible.

    DECLARE @table TABLE(numero INT);
    INSERT INTO @table(numero)
    VALUES(11000000), (10000000), (1000000), (100000), (10000);
    SELECT replace(format(numero, '#-#-##-##-##'), '-', '.') AS FORMATEADO,
           SUBSTRING((replace(format(numero, '#-#-##-##-##'), '-', '.')), PATINDEX('%[0-9]%', (replace(format(numero, '#-#-##-##-##'), '-', '.'))), LEN(format(numero, '#-#-##-##-##'))) AS FORMATEADO_ELIMINA_IZQ
    FROM @table;
    

    Salida

    Un saludo

    • Marcado como respuesta Pyrus Rosidae viernes, 21 de septiembre de 2018 13:20
    viernes, 21 de septiembre de 2018 5:39
  • Me funcionó muy bien, le agradezco mucho.

    viernes, 21 de septiembre de 2018 13:20
  • Una recomendación, aunque el motor de SQL Server puede FORMATEAR los resultados, creo que no es función de la capa Base de Datos, esto debería hacerlo el aplicativo que recibe dichos datos.

    Solo es un simple comentario

    viernes, 21 de septiembre de 2018 17:30
  • Gracias por la recomendación, y estoy de acuerdo, de hecho antes había intentado darle el formato al combobox que presentaría los datos pero como me estoy iniciando en esto, no tuve éxito y por eso me pareció que esta sería la manera más fácil.
    viernes, 21 de septiembre de 2018 21:46