프로그래밍 언어/SQL

SQL 함수 간단 실습 :: 숫자 관련 함수

gamjadori 2024. 1. 22. 15:32
728x90

<숫자 관련 함수>

  • ROUND(반올림), CEIL(올림), FLOOR(버림)
SELECT ROUND(0.5), CEIL(0.4), FLOOR(0.6);
>> 0.5을 반올림하고, 0.4를 올림하고, 0.6을 버림하라.

<결과>

SELECT price, ROUND(price), CEIL(price), FLOOR(price)
FROM products;
>> products에서 price, 반올림한 price, 올림한 price, 버림한 price을 출력

<결과>

<ABS (절댓값)>

SELECT ABS(1), ABS(-1), ABS(3 - 10);
>> 1의 절댓값, -1의 절댓값 (3 - 10)의 절댓값을 구하시오.
3 - 10 = -7

<결과>

SELECT * FROM orderdetails
WHERE ABS(`Quantity` - 10) < 5;
>> orderdetails에서
`Quantity` - 10의 절댓값이 5보다 작은 데이터를 출력하시오.

<결과>

<크기 비교>

  • GREATEST(....): 괄호 안의 값 중 큰 값
  • LEAST(....): 괄호 안의 값 중 작은 값
SELECT GREATEST(1, 2, 3), LEAST(1, 2, 3, 4);
>> 1, 2, 3, 중 큰 값과
1, 2, 3, 4, 중 작은 값을 출력하시오.

<결과>

<그룹함수>

  • 여러 개의 행을 하나로 합치기
  • MAX(최댓값), MIN(최솟값), COUNT(개수), SUM(총합), AVG(평균값)
SELECT MAX(quantity),
    MIN(quantity),
    COUNT(quantity),
    SUM(quantity),
    AVG(quantity)
FROM orderdetails;
>> orderdetails에서
quantity의 최댓값, 최솟값, 개수, 총합, 평균값을 구하시오.

<결과>

<TRUNCATE(N,n)>

  • TRUNCATE(N,n): N을 소수점 n자리까지 선택, 소수점 정리 함수
SELECT TRUNCATE(1234.56789, 1),
    TRUNCATE(1234.56789, 3),
    TRUNCATE(1234.56789, -1),
    TRUNCATE(1234.56789, -3);
>> 1234.56789의 소수점 1자리까지 표시
1234.56789의 소수점 3자리까지 표시
1234.56789의 소수점 -1 (반대로 1의 자리까지 0으로)
1234.56789의 백의 자리까지 0으로

<결과>

SELECT price, TRUNCATE(ROUND(price), 2)
FROM products;
>> products에서 price와
price를 반올림한 수를 소수점의 2자리까지 표시하여 출력하시오.

<결과>

SELECT price FROM products
WHERE TRUNCATE(price, 0) = 12;
>> products에서
price의 소수점 0의 자리까지 표시된 숫자가 12인 price를 출력하시오.
(price의 정수가 12인 수)

<결과>