Arailym Medetkazina
Arailym Medetkazina

Reputation: 23

Need to always round up in SQL

The decimal value needs to round up to the nearest integer, it doesn't matter if the fractional part is greater or less than .5.

Here is my query:

SELECT  MONTH_ 
        , COST 
        , DISC_COST / COST AS 'amount' 
        , DISC_COST 
        , PROFIT  
FROM    arr 
WHERE   MONTH_ LIKE 'JANU%'

These are the result:

MONTH_  COST    amount      DISC_COST   PROFIT
January 200     1              200       70
January 3500    2,414285714    8450     7250
January 4500    1              4500     2900
January 28500   0,631578947    18000    11200
January 600     1              600      100

Upvotes: 2

Views: 19604

Answers (2)

Rahul Jain
Rahul Jain

Reputation: 1399

Use CEIL() function (MySQL/Postgres).
Use CEILING() function (MS SQL).

SELECT 
    MONTH_ , 
    COST , 
    CEIL((DISC_COST / COST)) AS 'amount' , 
    DISC_COST , PROFIT  
FROM 
    arr 
WHERE 
    MONTH_ LIKE 'JANU%'

Upvotes: 8

ssbsuresh
ssbsuresh

Reputation: 16

You can use trunc() to make it integer value by just cut off the decimal values.

SELECT MONTH_ , COST , TRUNC(DISC_COST / COST) AS 'amount' , DISC_COST , PROFIT  FROM arr WHERE MONTH_ LIKE 'JANU%'

Upvotes: -1

Related Questions