none
Como mostrar numeros en formato de sistema decimal RRS feed

  • Pregunta

  • Hola

    Ejecuto la siguiente consulta en un procedimiento almacenado y aunque convierto los montos a VARCHAR cuando muestros mis resultados e mi aplicacion  si el numero es muy grande se muestra algo asi  1+10E6 , como puedo hacer `para que el numero se muestre en formato decimal:

     SELECT A.Id , CONCAT(Cast(A.MontoMinimo AS VARCHAR(50)) ,  ' - '  , Cast(A.MontoMaximo AS VARCHAR(50)) , ' - '  , B.Nombre)  AS DESCRIPCION
        FROM FlujoSolicitud A 
        Inner Join Destino B  ON  A.DestinoId = B.Id
    	Inner Join TipoSolicitud C ON A.TipoSolicitudId = C.Id
    	WHERE C.Id = @Id ORDER BY A.Id ASC;


    EFRAIN MEJIAS C VALENCIA - VENEZUELA

    lunes, 10 de junio de 2019 3:14

Respuestas

  • Hola Efrain Mejias Castillo:

    Y porque no tratarlo como númeric en la consulta.

    SELECT A.Id , CONCAT(Cast(Cast(A.MontoMinimo AS numeric(38,3)) as varchar(42)) ,  ' - '  ,Cast( Cast(A.MontoMaximo AS numeric(38,3)) as varchar(42)) , ' - '  , B.Nombre)  AS DESCRIPCION
        FROM FlujoSolicitud A 
        Inner Join Destino B  ON  A.DestinoId = B.Id
    	Inner Join TipoSolicitud C ON A.TipoSolicitudId = C.Id
    	WHERE C.Id = @Id ORDER BY A.Id ASC;

    Dado que numeric te permite alojar valores entre -10^38 + 1 y 10^38 -1, para un saldo, a priori parece un número lo suficientemente grande.

    declare @num numeric(38,3)
    set @num = 99999999999999999999999999999999999.999
    select @num
    

    Salida

    https://docs.microsoft.com/es-es/sql/t-sql/data-types/decimal-and-numeric-transact-sql?view=sql-server-2017

    lunes, 10 de junio de 2019 4:12