DB/MYSQL
MY SQL 숫자 조작함수
svdjcuwg4638
2023. 5. 4. 15:58
숫자 조작하는 SQL 함수들
숫자 자료에 쓰는 함수들도 있습니다.
글로 대충 몇개만 알아보고 지나갑시다.
GREATEST / LEAST
SELECT GREATEST(5, 3, 2, 1, 4);
SELECT LEAST(5, 3, 2, 1, 4);
여러 숫자들을 입력하면 최댓값, 최솟값 하나만 뽑아줍니다.
전에 했던 MAX(), MIN() 는 하나의 컬럼 안에서 최대, 최소를 1개 뽑아주는데
GREATEST(), LEAST() 는 하나의 행이나 숫자배열 안에서 최대, 최소를 뽑아줍니다.
위 코드는 뭐가 나오나 한줄 씩 실행해봅시다.
FLOOR/CEIL
SELECT FLOOR(10.1);
SELECT FLOOR(10.9);
SELECT CEIL(10.1);
SELECT CEIL(10.9);
소수점 들어있는 숫자들을 정수로 변환할 때 씁니다.
FLOOR는 소수부분을 내림해서 정수로 바꿔주고
CEIL은 소수부분을 올림해서 정수로 바꿔줍니다.
위 코드는 차례로 10, 10, 11, 11이 출력됩니다.
당연히 정수말고 소수점이 들어간 자료들을 깔끔하게 만들 때 쓰면 되겠군요.
ROUND/TRUNCATE
SELECT ROUND(10.777, 2);
SELECT TRUNCATE(10.777, 2);
소수점 부분을 반올림/내림할 때 씁니다.
소괄호에 (숫자, 자릿수)를 입력할 수 있는데
ROUND는 입력한 자릿수까지 반올림해줍니다.
TRUNCATE는 입력한 자릿수까지 내림해줍니다.
위 코드는 차례로 10.78, 10.77 이 출력됩니다.
Oracle, Postgres는 TRUNCATE() 말고 TRUNC() 라고 씁니다.
POWER
SELECT POWER(4, 2)
숫자를 거듭제곱하고 싶을 때 씁니다.
위의 예제는 4의 2승을 출력해줍니다.
ABS
SELECT ABS(-100)
숫자의 절댓값을 출력해줍니다.
역시 숫자함수들도 필요할 때 찾아쓰면 되는 정도라
이런게 있다고 알아두기만 해도 됩니다.