dual 이란??
테이블은 오라클을 설치하면 자동으로 생성되는 테이블이다.
산술 연산이나 가상 컬럼등을 한번 실행할때 사용하는 테이블이다.
테이블 생성하기
테이블 내용 추가하기
upper/lower/inicap
upper은 소문자 -> 대문자
lower은 대문자 -> 소문자
inicap은 영문자에서 첫번째를 대문자로 출력
concat 문자의 값을 연결
select 'good','day',concat('good','day')from dual;
substr(대상, 시작위치, 추출할 개수)
문자열 추출
substr("문자열 ","시작위치",시작위치에서부터 읽을 문자갯수(?)")
select substr('oracle mania',4,3), // 앞에서 부터
substr('oracle mania',-4,3) //뒤에서부터
from dual;
employee 테이블에서 substr 함수 사용하여
scott 사원 찾기
select * from employee where substr(ename.2.3) = 'c';
문자열 추출(2)
기존 문자열에서 일부만 추출, 문자열의 시작 위치부터 개수 만큼의 문자만을 얻어옴, substrb함수는 바이트 수만큼 추출
select substr('오라클 매니아',3,4),
substrb('오라클 매니아',3,4)
from dual;
한글 utf-8의 경우, 3바이트
▶그렇기 때문에 한글자 당 3바이트라고 생각하면 된다.
문자위치 찾기
instr 함수는 대상 문자열이나 컬럼에서 특정 문자가 나타나는 위치를 알려줌
instr(대상, 찾을 글자, 시작 위치, 몇 번째 발견)
select instr('oracle maina','a')
form dual;
select instr('oracle maina','a',?,2)
from dual;
문자길이 채우기 // 일회성
lpad(left padding)
lpad:지정한 수 만큼 문자열로 왼쪽에 채워짐
숫자 함수
round한수는 지정한 자릿수에서 반올림을 할 수 있돌고 자릿수를 지정할 수 있음
자릿수에 으수를 지정할 수 있는데 이럴경우 소숫점 이하가 아닌 반대쪽인 일단 위 십단위 백단위 순으로 거슬러 올라감
select 98.7654,round(98.7654),
round(9837654,2),
round(98.7654,-1)
from dual;
날짜 함수
현재 날자 표시하기
select sysdate from dual;
어제 오늘 내일 날짜 표시
select sysdate-1 어제, sysdate 오늘, sysdate+1 내일
from dual;
근무일수 계산기
select round(sysdate-hiredate)근무일수
from employee;
날짜 함수(2)
날짜 함수(3)
case 표현식 실습
select case when 'A'<'B' then 'b-win'(출력)
else 'no_string!'
end as 발표끝
from dual;
'DataBase' 카테고리의 다른 글
DataBase[뷰 개념, 생성, 삭제, 수정][뷰 권한 오류] (0) | 2018.11.12 |
---|---|
트랜잭션 (0) | 2018.11.09 |
데이터 베이스 인데스[개념][생성/변경/삭제] (0) | 2018.11.07 |
데이터베이스 시퀀스[정의][cmd 시퀀스 생성, 수정, 삭제] (0) | 2018.11.06 |