1. SQL 숫자 함수
- SELECT -10, ABS(-10) FROM DUAL;
(-10과 10을 듀얼 테이블에 출력)
- SELECT 34.5432, FLOOR(34.5432) FROM DUAL;
(34.5432에서 소수점을 버리면 34)
- SELECT 34.5678, ROUND(34.5678) FROM DUAL;
(34.5678을 반올림하면 35)
- SELECT 34.5678, ROUND(34.5678, 2) FROM DUAL;
(소수점 둘째자리까지 표현 / 34.57)
- SELECT MOD(27, 2), MOD(27, 5), MOD(27, 7) FROM DUAL;
(27 / 2 = 13 ... 1, 27 / 5 = 5 ... 2, 27 / 7 = 3 ... 6)
2. SQL 문자 함수
- SELECT LENGTH('Oracle'), LENGTH('오라클') FROM DUAL; (6,3)
- SELECT 'Welcome to Oracle' "적용전", LOWER('Welcome to Oracle') "LOWER적용후" FROM DUAL;
(Welcome to Oracle / welcome to oracle)
- SELECT 'Welcome to Oracle' "적용전", UPPER('Welcome to Oracle') "LOWER적용후" FROM DUAL;
(Welcome to Oracle / WELCOME TO ORACLE)
- SELECT INSTR('Welcome To Oracle', 'O') FROM DUAL;
('O'는 문자열 중 12번째 글자) > index는 1부터 계산
- SELECT SUBSTR ('Welcome to Oracle', 4, 3) FROM DUAL;
(4번째 글자부터 3개 뽑기 / com)
Java의 substring은 (0부터 시작) 원하는 숫자의 인덱스, 끝나는 부분+1번째의 인덱스
SUBSTR
- SELECT ENAME, SUBSTR(HIREDATE, 1, 5) FROM EMP;
SELECT ENAME, SUBSTR(HIREDATE, 1, 2) AS 년도, SUBSTR(HIREDATE, 4, 2) AS 달 FROM EMP;
- SELECT ENAME, 19||SUBSTR(HIREDATE, 1, 2)년도, SUBSTR(HIREDATE, 4, 2)달 FROM EMP;
- SELECT ENAME, HIREDATE, SUBSTR(HIREDATE, 4, 2)달 FROM EMP WHERE SUBSTR(HIREDATE, 4, 2) = '09';
(9월에 입사한 사원을 구하기)
TRIM
- SELECT TRIM(' ORACLE ') FROM DUAL; (공백 제거)
- SELECT LTRIM(' ORACLE') FROM DUAL; (왼쪽 공백 제거)
- SELECT RTRIM('ORACLE ') FROM DUAL; (오른쪽 제거)