Mysql&DBeaver

DBeaver)숫자 조작하는 SQL 함수들

연습노트 2024. 9. 6. 13:10

숫자 자료에 쓰는 함수들도 있습니다.

글로 대충 몇개만 알아보고 지나갑시다.

 

 

 

 

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) 

숫자의 절댓값을 출력해줍니다. 

 

 

 

이런 함수들은 외워봤자 다음날 다 까먹습니다.

필요할 때 찾아쓰는게 좋기 때문에

이런게 있다고 알아두기만 합시다.