Database/ms-sql

[MS-SQL] ROUND, CEILING, FLOOR(반올림, 올림, 버림) 1, 10 의 자리 올림(버림)

코딩for 2020. 11. 26. 14:23
반응형

 

 

반올림  : ROUND(값, 자릿수, [반올림여부])

 * 자릿수는 소수점을 기준으로 양수이면 소수점 자릿수, 음수이면 정수

 * 반올림여부는 옵션으로 음수이면 버림처리, 0이나 없으면 반올림

-- 소수점 반올림
SELECT ROUND(940.13, 1)		--940.10
SELECT ROUND(940.16, 1)		--940.20
SELECT ROUND(940.16, 1, -1)	--940.10

-- 자리수 반올림
SELECT ROUND(941, -1)		--940
SELECT ROUND(946, -1)		--950
SELECT ROUND(946, -2)		--900
SELECT ROUND(946, -1, -1)	--940

 

올림 : CEILING(값)

* 무조건 정수값 출력

SELECT CEILING(940.16)		--941
SELECT CEILING(942.16)		--943

 

버림 : FLOOR(값) 

* 무조건 정수값 출력

SELECT FLOOR(940.16)		--940
SELECT FLOOR(942.16)		--942

 

1, 10의 자리에서의 올림, 버림

-- 951 => 1의 자리 올림
SELECT CAST(FLOOR(951 + 10 ) AS INT) / 10 * 10			--960
-- 951 => 10의 자리 올림
SELECT CAST(FLOOR(951 + 100 ) AS INT) / 100 * 100		--1000


-- 951 => 1의 자리 버림
SELECT  CAST(FLOOR(951) AS INT) / 10 * 10			--950
-- 951 => 10의 자리 버림
SELECT  CAST(FLOOR(951) AS INT) / 100 * 100			--900

 

 

반응형