Download presentation
Presentation is loading. Please wait.
1
SQL 함수
2
문자함수 문자함수 -UPPER: 대문자로 변환 -LOWER: 소문자로 변환
-INITCAP: 첫 글자만 대문자, 나머지는 소문자 문자길이 반환함수 -LENGTH: 문자의 길이를 반환한다.(한글 1B) -LENGTHB: 문자의 길이를 반환한다.(한글 2B)
3
문자 조작함수 -CONCAT: 문자의 값을 연결 -SUBSTR: 문자를 잘라 추출(한글 1B) -INSTR: 특정 문자의 위치값을 반환
4
Ex01)e대소문자 변환함수 SELECT ‘oracle mania’ UPPER(‘oracle mania’) LOWER(‘oracle mania’) FROM dual; Ex02)대소문자 변환함수를 컬럼에 사용 SELECT ename, LOWER(ename),job, INITCAP(job) FROM emaployee;
5
Ex03) scott사원검색 SELECT eno,INITCAP(ename) as “Name”,dno FROM employee WHERE LOWER(ename) = ‘scott’; Ex04)영문과 한글의 길이 구하기 SELECT LENGTH(‘oracle’), LENGTH(‘오라클’) FROM dual; Ex05)영문과 한글의 바이트수 구하기 SELECT LENGTHB(‘oracle’), LENGTHB(‘오라클’)
6
Ex06) 문자 결합하기 SELECT CONCAT(‘oracle’,’Database’) FROM dual; Ex07) 문자열 일부만 추출 SELECT SUBSTR(‘oracle’,1,2) Ex08) 이름이 N으로 끝나는 사원 SELECT * FROM employee WHERE SUBSTR(ename, -1, 1)=‘N’; Ex09) 87년도에 입사한 사원표기 WHERE SUBSTR(hiredate, 1, 2) = ‘87’;
7
EX10) INSTRB 함수로 위치찾기 SELECT INSTR(‘오라클’, ‘오’), INSTRB(‘오라클’,’오’) FROM dual; Ex11) 사원검색 SELECT * FROM employee WHERE INSTR(ename, ‘R’, 3, 1) = 3; Ex12)왼쪽자리를 특정기호로 채우기(주민번호 가리는 용도) SELECT LPAD(salary, 10, ‘*’) FROM employee; Ex13)오른쪽 자리를 특정기호로 채우기 SELECT RPAD(salary, 10 , ‘*’)
8
Ex14) 특정문자 제거 SELECT TRIM(‘0’ FROM ‘oracle Database’) FROM dual; Ex15) 한쪽 공백제거 SELECT LTRIM(‘ oracle’), RTRIM(‘oracle ’) Ex16)앞뒤 공백제거 SELECT TRIM(‘ oracle ‘)
9
숫자함수 Ex17) 반올림 해봐 SELECT ROUND(99), ROUND( ), ROUND( , 1), ROUND( , 2), ROUND( , -1) FROM dual; Ex18) 반내림 SELECT TRUNC(99), TRUNC( ), TRUNC( , 1), TRUNC( , 2), TRUNC( , -1) Ex19)나누기 SELECT MOD(31,2)
10
날짜함수 날짜함수 -SYSDATE: 시스템에 저장된 현재 날짜 -MONTHS_BETWEEN:개월 수 계산
-ADD_MONTHS:
11
Ex23) 날짜 계산하기 SELECT SYSDATE-1 AS “어제”, SYSDATE AS “오늘”, SYSDATE+1 AS “내일” FROM dual; Ex24)근무일수 계산 SELECT ROUND(SYSDATE-HIREDATE) 근무일수, HIREDATE FROM employee; Ex25) 입사일에서 월을 기준으로 잘라냄 SELECT hiredate, TRUNC(HIREDATE, ‘MONTH’) Ex26) 각 사원들이 근무한 개월수 구하기 SELECT ename, sysdate, hiredate, TRUNC(MONTHS_BETWEEN(SYSDATE, HIREDATE))
12
Ex27) 입사한지 6개월이 지난후의 날짜 계산 SELECT ename, hiredate, ADD_MONTHS(HIREDATE, 6) FROM employee; Ex28)오늘을 기준으로 최초로 돌아오는 토요일 구하기 SELECT SYSDATE, NEXT_DAY(SYSDATE, ‘토요일’) FROM dual; Ex29) 입사한 달의 마지막 날 구하기 SELECT ename, hiredate, LAST_DAY(HIREDATE)
13
형변환 함수 형변환 함수 -TO_CHAR: 날짜형 혹은 숫자형을 문자로 -TO_DATE: 문자형을 날짜로
-TO_NUMBER: 문자형을 숫자로
14
Ex30) 날짜함수 이용하기 SELECT ename,hiredate, TO_CHAR(HIREDATE, ‘YY-MM’), TO_CHAR(HIREDATE, ‘YYYYMMDD DAY’) FROM employee; Ex31) 급여앞에 통화기호 붙이기 SELECT ename, TO_CHAR(salary, ‘L999,999’) Ex32) 날짜형으로 변환 SELECT ename, hiredate FROM employee WHERE hiredate=TO_DATE( ,’YYYYMMDD’); Ex33)숫자형태로 변환후 빼기; SELECT TO_NUMBER(‘100,000’,’999,999’)-TO_NUMBER(‘50,000’,’999,999’) FROM dual;
Similar presentations