[SQL] 프로그래머스 CASE문, ROUND, TRUNCATE, 절대값, 소수점 올림, 버림, 반올림, 소수점 자릿수 버림 등

선뀰·2023년 7월 30일
0

1. CASE문?

조건문으로 사용하는 제어문이다. 새로운 필드를 생성해서 뷰로 만드는데 목적을 둔다.
switch나 if문 처럼 사용이 가능하다.

CASE
WHEN 조건1 THEN 조건1 충족할 때 반환되는 값
WHEN 조건2 THEN 조건2 충족할 때 반환되는 값
WHEN 조건3 THEN 조건3 충족할 때 반환되는 값
ELSE 모든 조건 해당되지 않을 때 반환되는 값
END

조건값과 값이 같으면, THEN절을 반환한다.

* CASE문 예시

SELECT BOARD_ID, WRITER_ID, TITLE, PRICE, 
        CASE
            WHEN STATUS = 'SALE' THEN '판매중'
            WHEN STATUS = 'RESERVED' THEN '예약중'
            WHEN STATUS = 'DONE' THEN '거래완료'
        END AS STATUS
FROM USED_GOODS_BOARD
WHERE DATE_FORMAT(CREATED_DATE, '%Y-%m-%d') = '2022-10-05'
ORDER BY BOARD_ID DESC

1. ABS(절대값)

ABS(숫자) 절대값을 만들어 주는 함수이다.
모두 양수로 만들어 주는 것이다.

2. CEILING(소수점 올림)

CEILING(숫자) 값보다 큰 정수 중 소수점을 모두 올린다.

3. FLOOR(소수점 버림)

FLOOR(숫자)
값보다 작은 정수 중 가장 큰 수를 가져오고 실수를 무조건 버린다.

4. ROUND(반올림)

ROUND(숫자, 반올림할 자릿수)
숫자를 반올림할 자릿수 + 1에서 반올림을 한다.

SELECT ROUND(1234.5678, 4) FROM TABLE
#1234.5679가 된다.

5. TRUNCATE(소수점 자릿수 버림)

TRUNCATE(숫자, 버릴 자릿수)
숫자를 버릴 자릿수 아래로 버린다.

SELECT TRUNCATE(1234.56789, 4) FROM TABLE
# 1234.5678이 출력된다.

- 예제
SELECT TRUNCATE(PRICE, -4)AS PRICE_GROUP, COUNT(*) AS PRODUCTS FROM PRODUCT 
# -4를 통해 천 단위에서 버림을 한다.
GROUP BY PRICE_GROUP
ORDER BY PRICE_GROUP

위의 TRUNCATE문에서 보면 알 수 있듯이, 만 단위 숫자에서 범위를 설정하기 위해TRUNCATE(PRICE, -4)를 사용하면 천 단위에서 버림을 할 수 있다.

profile
공부 하는 방법을 배우는 중

0개의 댓글

Powered by GraphCDN, the GraphQL CDN