[MSSQL] 소수점 올림/반올림/절삭 관련 쿼리
[MSSQL] 소수점 올림/반올림/절삭 관련 쿼리
소수점 표현하는 방법들...
WITH TMP_A AS
(
SELECT *
FROM (
SELECT 'ROUND(12345.1356, 1)' AS TEXT
, ROUND(12345.1356, 1) AS VALUE
UNION ALL
SELECT 'ROUND(12345.1356, 2)' AS TEXT
, ROUND(12345.1356, 2) AS VALUE
UNION ALL
SELECT 'ROUND(12345.1356, 3)' AS TEXT
, ROUND(12345.1356, 3) AS VALUE
UNION ALL
SELECT 'ROUND(12345.1356, 4)' AS TEXT
, ROUND(12345.1356, 4) AS VALUE
UNION ALL
SELECT 'ROUND(12345.1356, 5)' AS TEXT
, ROUND(12345.1356, 5) AS VALUE
UNION ALL
SELECT 'ROUND(12345.1356, 0)' AS TEXT
, ROUND(12345.1356, 0) AS VALUE
UNION ALL
SELECT 'ROUND(12345.1356, -1)' AS TEXT
, ROUND(12345.1356, -1) AS VALUE
UNION ALL
SELECT 'ROUND(12345.1356, -2)' AS TEXT
, ROUND(12345.1356, -2) AS VALUE
UNION ALL
SELECT 'ROUND(12345.1356, -3)' AS TEXT
, ROUND(12345.1356, -3) AS VALUE
UNION ALL
SELECT 'ROUND(12345.1356, -4)' AS TEXT
, ROUND(12345.1356, -4) AS VALUE
UNION ALL
SELECT 'ROUND(12345.1356, -5)' AS TEXT
, ROUND(12345.1356, -5) AS VALUE
UNION ALL
SELECT 'ROUND(12345.1356, 3, 0)' AS TEXT -- 3번째 인자 0이면 반올림, 0이 아닐 경우 절삭, 3번째 인자 값 생략가능
, ROUND(12345.1356, 3, 0) AS VALUE
UNION ALL
SELECT 'ROUND(12345.1356, 3, 1)' AS TEXT -- 3번째 인자 0이면 반올림, 0이 아닐 경우 절삭, 3번째 인자 값 생략가능
, ROUND(12345.1356, 3, 1) AS VALUE
UNION ALL
SELECT 'ROUND(12345.1356, -1, 0)' AS TEXT -- 3번째 인자 0이면 반올림, 0이 아닐 경우 절삭, 3번째 인자 값 생략가능
, ROUND(12345.1356, -1, 0) AS VALUE
UNION ALL
SELECT 'ROUND(12345.1356, -1, 1)' AS TEXT -- 3번째 인자 0이면 반올림, 0이 아닐 경우 절삭, 3번째 인자 값 생략가능
, ROUND(12345.1356, -1, 1) AS VALUE
UNION ALL
SELECT 'CEILING(12345.1356)' AS TEXT -- 소수점 올림
, CEILING(12345.1356) AS VALUE
UNION ALL
SELECT 'FLOOR(12345.1356)' AS TEXT -- 소수점 버림
, FLOOR(12345.1356) AS VALUE
)T
)
SELECT *
FROM TMP_A