[ORACLE] 숫자 함수 _ 오라클 sql
숫자형 함수 연습
1. ABS : 절대 값을 구해보자.
SELECT ABS(-352) FROM DUAL
2. SIGN : SIGN( 숫자 )
=> 양수 = 1, 음수 = -1, 0 = 0 을 리턴
SELECT SIGN(-126), SIGN(128), SIGN(0) FROM DUAL
3. POWER : POWER( 임의의 수, 승수 )
SELECT POWER(2, 3) FROM DUAL
4. SQRT : SQRT( n )
=> n 제곱근
SELECT SQRT(4) FROM DUAL
5. 이 구역에서 가장 쎈놈 나와!
GREATEST & LEAST
리스트 중에서 제일 큰 값과 작은 값을 리턴하는 함수
!! 제일 첫번째 놓인 컬럼에 또는 문자에 의해 타입이 결정된다!!
SELECT GREATEST(10,20,30) "큰값", LEAST(10,20,30) "작은값" FROM DUAL SELECT GREATEST('A', 9, 'B', 1) FROM DUAL -- 작동 잘 됨. 숫자 또한 ASCII 코드 값이 있다. -- 그 코드값으로 변환해서 비교. (숫자는 문자보다 ASCII 코드값이 작다.) SELECT GREATEST(10, 'a', 'Z' , 30) FROM DUAL --에러발생 : 문자는 숫자타입으로 자동변환 할 수 없어서. 숫자는 숫자 그대로 크기비교
6. EXP : 지수함수
SELECT EXP(1) FROM DUAL
7. 거기누구 정수 없소?
FLOOR : FLOOR(n)
CEIL : CEIL(n)
=> n과 같거나 작은 수 중, 가장 큰 정수를 리턴!
=> n과 같거나 큰 수 중, 가장 작은 정수를 리턴!
SELECT FLOOR(123.456), FLOOR(124.987), CEIL(123.456), CEIL(124.5556) FROM DUAL
8. 나머지를 구하자.
MOD : MOD(피제수, 제수)
REMINDER : REMINDER(피제수, 제수)
SELECT MOD(10, 3) FROM DUAL
9. 반올림을 하자.
ROUND : ROUND(컬럼 혹은 숫자, 자릿수)
=> 자릿수 '0' , 소수점 1의 자리에서 반올림 & 1의 자리까지만 표시
자릿수 '1' , 소수점 2의 자리에서 반올림 & 소수점 1의 자리까지 표시
자릿수 '-1' , 정수 1의 자리에서 반올림 & 정수 1의 자리 당연히! 표시!
SELECT ROUND(100.65), ROUND(100.65,0), ROUND(100.65,1), ROUND(100.65,-1), ROUND(SYSDATE, 'MI') "초" FROM DUAL
10. 버림을 하자.
TRUNC : TRUNC(컬럼 혹은 숫자, 버림할 자릿수)
SELECT TRUNC(163.5), TRUNC(163.5,1), TRUNC(163.5,0), TRUNC(163.5,-1) FROM DUAL
'프로그래밍 > 오라클' 카테고리의 다른 글
[ORACLE] JOIN _ INNER JOIN _ 오라클 조인 (0) | 2017.03.29 |
---|---|
[ORACLE] NULL 함수 _ 오라클 (0) | 2017.03.28 |
[ORACLE] UNION 과 UNION ALL 차이 _ 오라클 (5) | 2017.03.24 |
[ORACLE] Natural Join _ 네추럴 조인 _ 오라클 (0) | 2017.03.23 |
[ORACLE] 오라클 날짜 함수 (0) | 2017.03.21 |