SQLD 시험준비 기출 ROUND, TRUNC 자세히

SQLD ROUND 함수

SQL의 ROUND 함수는 숫자를 지정된 소수점 자리수로 반올림합니다. 소수점 둘째 자리에서 반올림하려면 ROUND(숫자, 1)을 사용합니다. 만약 소수점 첫째 자리를 기준으로 반올림하고 싶다면 ROUND(숫자) 또는 ROUND(숫자, 0)을 사용하면 됩니다.

예시 쿼리:

SELECT ROUND(123.4567, 2) AS rounded; -- 결과: 123.46
SELECT ROUND(123.4567, 0) AS rounded; -- 결과: 123
SELECT ROUND(123.4567, -1) AS rounded; -- 결과: 120
SELECT ROUND(123.4567, -2) AS rounded; -- 결과: 100
SELECT ROUND(123.4567) AS rounded; -- 결과: 123
SELECT ROUND(-123.4567) AS rounded; -- 결과: -123
SELECT ROUND(123.5567) AS rounded; -- 결과: 124
SELECT ROUND(-123.5567) AS rounded; -- 결과: -124
SELECT ROUND(0.789, 1) AS rounded; -- 결과: 0.8
SELECT ROUND(-0.789, 1) AS rounded; -- 결과: -0.8

SQLD TRUNC 함수

TRUNC 함수는 숫자에서 지정된 소수점 자리수 이하를 잘라냅니다. 예를 들어 TRUNC(숫자, 1)을 사용하면 소수점 둘째 자리를 기준으로 잘라내고 첫째 자리까지만 보여줍니다. TRUNC(숫자, 0) 또는 TRUNC(숫자)를 사용하면 소수점 없이 정수만 표시됩니다.

예시 쿼리:

SELECT TRUNC(123.4567, 2) AS truncated; -- 결과: 123.45
SELECT TRUNC(123.4567, 0) AS truncated; -- 결과: 123
SELECT TRUNC(123.4567, -1) AS truncated; -- 결과: 120
SELECT TRUNC(123.4567, -2) AS truncated; -- 결과: 100
SELECT TRUNC(123.4567) AS truncated; -- 결과: 123
SELECT TRUNC(-123.4567) AS truncated; -- 결과: -123
SELECT TRUNC(123.5567) AS truncated; -- 결과: 123
SELECT TRUNC(-123.5567) AS truncated; -- 결과: -123
SELECT TRUNC(0.789, 1) AS truncated; -- 결과: 0.7
SELECT TRUNC(-0.789, 1) AS truncated; -- 결과: -0.7

실제 데이터 예시로 설명:

이제 학생의 성적 데이터를 가정해보겠습니다. students 테이블에는 id, name, score 컬럼이 있고, 다음과 같은 데이터가 있습니다.

id | name  | score
---|-------|------
1  | John  | 86.755
2  | Jane  | 92.45
3  | Dave  | 77.319

ROUND 함수 실제 예시:

John의 점수를 소수점 첫째 자리에서 반올림하고 싶다면 다음 쿼리를 사용합니다.

SELECT id, name, ROUND(score, 0) AS rounded_score FROM students;

결과는 다음과 같습니다:

id | name  | rounded_score
---|-------|--------------
1  | John  | 87
2  | Jane  | 92
3  | Dave  | 77

John의 점수는 86.755에서 반올림하여 87이 되었습니다.

TRUNC 함수 실제 예시:

Jane의 점수를 소수점 첫째 자리로 잘라내고 싶다면 다음 쿼리를 사용합니다.

SELECT id, name, TRUNC(score, 0) AS truncated_score FROM students;

결과는 다음과 같습니다:


plaintext
id | name  | truncated_score
---|-------|----------------
1  | John  | 86
2  | Jane  | 92
3  | Dave  | 77

Jane의 점수는 92.45였으나 TRUNC를 사용하여 92로 잘라냈습니다.

이처럼 ROUNDTRUNC는 성적이나 금액 등을 처리할 때 유용하게 사용할 수 있습니다.