Afronden naar boven werkt niet.

HenkGRIP

Gebruiker
Lid geworden
30 nov 2010
Berichten
18
Waarom rond mijn 2e select niet naar boven af?
Ik wil namelijk dat mijn deling (600/250=2.4) naar boven wordt afgerond. (dus 3)
De eerste select geeft wel 3 als resultaat maar de 2e select geeft de waarde 2 terug.

SELECT CEILING(2.0000001) AS RoundUpValue
SELECT CEILING(600/250) AS RoundUpValue
 
voor SQL server:
Als je select 600/250 uitvoert in SQL server krijg je als resultaat: int/int = int. Dus krijg je select CEILING(2) wat 2 als resultaat geeft
Als je SELECT 600.00/250 dan deel je een NUMERIC/int en krijg je een NUMERIC terug 2.400000
Dus je uitdrukking wordt iets in de aard van:

SELECT CEILING(cast(600 as numeric(8,2))/250) AS RoundUpValue
 
Terug
Bovenaan Onderaan