본문 바로가기

배우기/복습노트[oracle sql]

[복습] SQL | Oracle 숫자 함수 중 단일행 함수들(round/trunc, ceil/floor, mod, abs, sign)

728x90
반응형

앞서 함수들은 그룹함수들로 다건을 입력하면 한 행이 출력된다.

 

이제 볼 함수들은 단일행 함수들로 한 건 입력하면 한 건이 출력된다.

 

먼저 round/trunc 함수이다.

round(대상[, 자릿수]) 형식으로 나타내며

자릿수 생략 시 일의 자리까지 반올림/버림 한다.

위처럼 12.3456에서 자릿수에 3을 넣으면 셋째 자리에 맞춰라는 의미이다.

그런데 숫자의 반올림과 자리수를 표현하고자 한다면 자릿수에 음의 값이 가능하다

그러나 자릿수가 음의 값인 경우 정수 자리에서 반올림/버림. 즉 세 번째 자리에서 반올림/버림 을 한다.

 

ceil/floor 함수 중

ceil(대상) 의 경우 대상보다 크면서 가장 작은 최소 정수를 구하라는 의미이며(올림),

floor(대상) 의 경우 대상보다 작으면서 가장 큰 최대 정수를 구하라는 의미이다(버림).

 

내 경험 상 많이 쓰이는 함수 mod에 대해서 알아보자.

mod는 나머지를 구하는 함수이며

mod(숫자, 나눌 값)의 포맷을 가진다.

몫과 나머지를 구할 땐 위와 같이 trunc함수와 mod 함수를 콜라보 하면 되겠네.

 

 

sign 함수는 음수, 양수를 판별하는 함수이며 양수이면 1, 음수이면 -1, 0이면 0을 리턴한다.

중요 쓰임새는 나중에 설명해주신다고 하였다. 궁금해진다.

 

 

abs 는 절대값으로 무조건 양수를 취해주는 함수이다.

 

 

위 두 가지는 간단하여 실습을 안하고 넘어가도록 하겠다.

 

 

 

 

728x90
반응형