truncar round redondear quitar mostrar hacia formato entero ejemplos digitos decimales arriba sql rounding

round - SQL-Redondeo a 2 decimales



sql redondear hacia arriba (12)

Necesito convertir minutos en horas, redondeado a 2 lugares decimales. También necesito mostrar solo hasta 2 números después del punto decimal. Entonces, si tengo minutos como 650. Entonces las horas deberían ser 10.83

Esto es lo que tengo hasta ahora:

Select round(Minutes/60.0,2) from ....

Pero en este caso, si mis minutos son, digamos, 630 horas, es 10.5000000. Pero lo quiero solo como 10.50 (después del redondeo). ¿Cómo logro esto?


¿No podrías arrojar tu resultado como numeric(x,2) ? Donde x <= 38

select round(630/60.0,2), cast(round(630/60.0,2) as numeric(36,2))

Devoluciones

10.500000 10.50


Al igual que con SQL Server 2012, puede usar la función de formato integrado :

SELECT FORMAT(Minutes/60.0, ''N2'')

(solo para lecturas adicionales ...)


Convierte tu número a Numeric o Decimal .

Reemplace su consulta con lo siguiente.

Servidor SQL

Select Convert(Numeric(38, 2), Minutes/60.0) from ....

MySql:

Select Convert(Minutes/60.0, Decimal(65, 2)) from ....

La función Cast es un contenedor para la función Convert . Combine eso con SQL siendo un lenguaje interpretado y el resultado es que a pesar de que las dos funciones producen los mismos resultados, hay algo más sucediendo detrás de escena en la función Cast . El uso de la función Convert es un ahorro pequeño, pero multiplicado por ahorros pequeños.


El siguiente fragmento podría ayudarlo a:

select SUBSTR(ENDDTTM,1, 9), extract(DAY FROM (ENDDTTM)), ENDDTTM, BEGINDTTM, (ENDDTTM - BEGINDTTM),substr(BEGINDTTM, 1,15), substr((ENDDTTM - BEGINDTTM), 12, 8), round((substr((ENDDTTM - BEGINDTTM), 12, 2)* 3600 + substr((ENDDTTM - BEGINDTTM), 15, 2)*60 + substr((ENDDTTM - BEGINDTTM), 18, 2)),2) as seconds, round((substr((ENDDTTM - BEGINDTTM), 12, 2)* 60 + substr((ENDDTTM - BEGINDTTM), 15, 2) + substr((ENDDTTM - BEGINDTTM), 18, 2)/60 ), 2)as minutes, round((substr((ENDDTTM - BEGINDTTM), 12, 2) + substr((ENDDTTM - BEGINDTTM), 15, 2)/60 + substr((ENDDTTM - BEGINDTTM), 18, 2)/3600 ),2) as hours


Encuentro que la función STR es el medio más limpio para lograr esto.

SELECT STR(ceiling(123.415432875), 6, 2)


Funciona tanto con postgresql como con Oracle

SELECT ename, sal, round(((sal * .15 + comm) /12),2) FROM emp where job = ''SALESMAN''


La siguiente consulta es útil y simple-

declare @floatExchRate float; set @floatExchRate=(select convert(decimal(10, 2), 0.2548712)) select @floatExchRate

Da salida como 0.25.


Lo que siempre use en la denominación debería ser en decimal, por ejemplo 1548/100 dará 15.00

Si reemplazamos 100 con 100.0 en nuestro ejemplo, obtendremos 15.48

select 1548/100 15.00000 select 1548/100.0 15.4800 0


intente esto: SELECT CAST(ROUND([Amount 1]/60,2) AS DECIMAL(10,2)) as TOTAL


puedes usar

select cast((630/60.0) as decimal(16,2))


DECLARE @porcentaje FLOAT SET @porcentaje = (CONVERT(DECIMAL,ABS(8700)) * 100) / CONVERT(DECIMAL,ABS(37020)) SELECT @porcentaje


Declare @number float = 35.44987665; Select round(@number,2)