-- 5일차
-- 정규식
--Predefined character classes
-- . Any character (may or may not match line terminators)
-- \d A digit: [0-9]
-- \D A non-digit: [^0-9]
-- \s A whitespace character: [ \t\n\x0B\f\r]
-- \S A non-whitespace character: [^\s]
-- \w A word character: [a-zA-Z_0-9]
-- \W A non-word character: [^\w]
-- 한글이 들어있는 곳의 위치 알아내기
-- 자음, 모음, 글자별로 신경 써야 함
select regexp_instr('abcㅠㅠㅜㅜㅎㅎㅋㅋ가나다', '[가-힝ㄱ-ㅎㅏ-ㅣ]')
from dual;
select regexp_replace('abcㅠㅠㅜㅜㅎㅎㅋㅋ가나다', '[가-힝ㄱ-ㅎㅏ-ㅣ]')
from dual;
-- ^, $
select name
from filetbl
--where regexp_like(name, '^c');
where regexp_like(name, 'java$');
-- ?, *, +, {n}, {n,}, {n,m}
select name
from filetbl
--where regexp_like(name, '(.+[/\\]){3,}');
where regexp_count(name, '[/\\]') > 2;
select regexp_replace(name, '[/\\][^/\\]*$' ) as 폴더명,
regexp_replace(name, '.+[/\\]') as 파일명,
regexp_replace(name, '.+\.') as 확장자
from filetbl;
-- 날짜 함수 ( 서버의 시간 )
select sysdate from dual; -- date
select systimestamp from dual; -- timestamp
-- ex) 지금으로부터 1년뒤를 계산하라
select sysdate+365 from dual; -- 바로 날짜를 더할 수 있음
select systimestamp+365 from dual; -- 마찬가지로 날짜를 더할 수 있음
-- add_months(날짜, 정수(months))
select add_months(sysdate, 3) from dual;