320x100
320x100

 

데이터베이스 구조 (humanlist)

name

age

gender

job

홍길동

21

M

soldier

김춘자

33

F

CEO

방태순

18

F

student

윤호상

23

M

nurse

장지태

27

M

doctor

 

 

nvl()

- nvl(속성 or 값, 치환할 값)

- null 값을 다른 값으로 치환하는 함수

 

 

nvl2()

- nvl2(속성 or 값1, null 값이 아닐 경우 출력 값, null 값일 경우 출력 값)

 

 

decode()

- if문의 역할

- decode(a, b, '1', null) = a가 b일 경우 1을 출력, 아닐 경우 null을 출력

- select name, age, decode(gender, 'F', '여자') from human_list;

: gender가 F일 경우 여자를 출력, 아닐 경우 아무것도 출력하지 않음

- select name, decode(age, 18, 'student', 27, 'senior', 23, 'univ', 'etc') "grade" from human_list;

: age가 18일 경우 student, 27일 경우 senior 등 조건대로 출력 모두 해당 안되면 etc 출력

 

 

case()

- case 조건 when 결과1 then 출력1 when 결과2 then 출력2 else 출력3 end "속성명"

- select job, case(name) when '홍길동' then '홍성훈' when '김춘자' then '김유빈' when '방태순' then '방효연'

else name from human_list;

: 조건에 따른 출력

- select case when age between 10 and 20 then 'student' when age between 21 and 30 then 'senior' end "grade"

from human_list;

: age가 10이상 20이하면 'student', 21이상 30이하면 'senior'라고 "grade" 속성에 출력

 

 

정규식

- ^ (캐럿) : 해당 문자로 시작하는 line 출력 (ex : '^김춘자' => 김춘자로 시작하는 line 출력)

- $ : 해당 문자로 끝나는 line 출력

- . : ~로 시작하여 ~로 끝나는 line 출력 (ex : '김...자' => 김으로 시작해서 자로 끝나는 5글자 line)

- * : 모든 (ex : '[a-z]*')

- [] : 해당 문자에 해당하는 한 문자 (ex : '[Ppq]ower' => P 혹은 p 혹은 q에 해당하는 문자)

(ex : '[a-zA-Z]' => 알파벳 소문자와 대문자 모두 포함)

(ex : '[a-z] ' => 알파벳 소문자로 시작하고 공백한 칸)

(ex : '[a-z] [0-9]' => 알파벳 소문자로 시작하고 공백한 칸에 숫자를 포함)

(ex : '[[:space:]]' 공백이 있는 모든 행)

- [^] : 해당 문자에 해당하지 않는 한 문자 (ex : ^[a-m]attern => a부터 m까지는 해당하지 않음)

 

 

regexp_like()

- 문자열의 특정 패턴 출력

- regexp_like(속성 or 문자열, 패턴)

- select * from human_list where regexp_like(age, '[1-25]');

: age가 1에서 25인 데이터 출력

- regexp_like(text, '[A-Z]{2}')

: 대문자가 연속으로 2글자 이상 있는 행

- regexp_like(text, '[[:upper:]]')

: 대문자가 포함되어 있는 모든 행

- regexp_like(text, '...r.')

: 4번째 자리에 r이 있는 행

 

 

regexp_replace()

- 패턴에 해당하는 문자열을 다른 문자로 대체

- regexp_replace(문자열, '[패턴]' , 대체할 문자)

- select regexp_replace('aaa bbb', 'a{3}','') from dual;

: REGEXP

------

bbb

: 'a{3}' = aaa

: '( ){1,}' = 1번 이상 반복되는 공백

: 'ab{3,5}' = aaabbbbb

 

 

 

300x250
728x90