[데이터베이스] 17일차 - 정규식복습, 날짜 함수 :: 소림사의 홍반장!
-- 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;

다른 카테고리의 글 목록

Dev. 640시간 뭉개기/강의내용정리 카테고리의 포스트를 톺아봅니다