Redondeo al alza

07/03/2007 - 18:40 por Masta | Informe spam
Hola a todos,

Voy al grano.. aquí va el código:

set @total=(select count(*) from tabla)
set @total=@total/2

Lo que quiero controlar es que si el count(*) da un número impar, al
calcular su mitad me redondee al alza.. pero teniendo en cuenta que
cuando dé un número entero la operación, se quede como está.

He probado este ejemplo:

set @total=(select count(*) from tabla)
ESTO DA 9
set @total=ceiling(@total/2)
ESTO DA 4, CUANDO BUSCO QUE DE 5

Muchas gracias por vuestra ayuda.
 

Leer las respuestas

#1 Maxi
07/03/2007 - 18:52 | Informe spam
Mira este codigo:

DECLARE @N INT
DECLARE @N2 DECIMAL(9,1)

SET @N = 11
SET @N2 = @N / 2.0

SELECT CEILING(@N2)

en tu division no pongas 2 solo sino pone 2.0


"Masta" escribió en el mensaje
news:
Hola a todos,

Voy al grano.. aquí va el código:

set @total=(select count(*) from tabla)
set @total=@total/2

Lo que quiero controlar es que si el count(*) da un número impar, al
calcular su mitad me redondee al alza.. pero teniendo en cuenta que
cuando dé un número entero la operación, se quede como está.

He probado este ejemplo:

set @total=(select count(*) from tabla)
ESTO DA 9
set @total=ceiling(@total/2)
ESTO DA 4, CUANDO BUSCO QUE DE 5

Muchas gracias por vuestra ayuda.

Preguntas similares