/*
단일행 함수
LOWER : 소문자로 바꾸기
UPPER : 대문자로 바꾸기
INITCAP : 첫자 대문자 나머지는 소문자
*/
select UPPER(ename) from emp;
select LOWER(ename) from emp;
select INITCAP(ename) from emp;
select * from emp where UPPER(ename) = upper('KING');
select ename,length(ename) from emp;
/*없는 테이블은 dual로 처리한다, dual에 b를 붙이면 바이트로 표시해줌*/
select length('한글'),lengthb('한글') from dual;
select * from emp where length(job)>=6;
/* 중요!!!
SUBSTR(문자열 데이터, 시작위치, 추출길이)
SUBSTR(문자열 데이터, 시작위치)
문자열 일부 추출
*/
select job,substr(job,1,2),substr(job,3,2),substr(job,5) from emp ;
select substr('980419-23',8,1) from dual ;
select ename,SUBSTR(hiredate,1,2) from emp ;
/*특정 문자 위치를 찾는 함수 */
select * from emp where INSTR(ename,'S')>0;
/* 중요!!
replace(데이터, 찾는문자(, 대체할 문자)): 특정문자를 다른 문자로 대체
*/select '010-1234-5678' 원본 ,
replace ('010-1234-5678','-',':') 수정1,
replace ('010-1234-5678','-') 수정2 from dual;
/*PAD 공백과 관련된 함수*/
select 'Oracle',
LPAD('Oracle',10,'%'), /*왼쪽에 자릿수 맞춰서 공백에 % 문자를 채움*/
RPAD('Oracle',10,'*')
from dual;
select RPAD ('980419-',14,'*'),
RPAD ('010-1234-',13,'#')
from dual;
/*두 문자열 데이터를 합치는 함수 concat*/
select concat(empno, ename),concat(empno,concat(':',ename)) from emp;
/*특정 문자를 지우는 TRIM([삭제 옵션][삭제할 문자] FROM [원본 데이터(필수)]),STRIM,RTRIM*/
select Trim(' Oracle '),
RTrim(' Oracle '),
LTrim(' Oracle ')
from dual; /*공백 제거*/
select '['||TRIM(' Oracle ')||']' as trim,
'['||TRIM(LEADING FROM'__Oracle__')||']' as trim_leading,
'['||TRIM(TRAILING FROM'__Oracle__')||']' as trim_trailing,
'['||TRIM(BOTH FROM' Oracle ')||']' as trim_both
FROM dual;
'코딩연습 > 오라클' 카테고리의 다른 글
[SQL]집합함수(SUM,MAX,MIN,AVG),그룹화 함수 (0) | 2020.06.11 |
---|---|
[SQL]반올림(ROUND), TRUNC,MOD,NEXT_DAY,TO_CHAR (0) | 2020.06.11 |
[SQL]연습문제 (0) | 2020.06.11 |
[SQL]비교연산자,AND,OR,IN,BETWEEN,LIKE,합집합(UNION),차집합(MINUS),교집합(INTERSECT) (0) | 2020.06.11 |
[SQL]테이블 확인,생성,삭제,삽입 (0) | 2020.06.11 |