사용자 도구

사이트 도구


dbms:oracle:devel:regexp:regexp_like

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
마지막 판 양쪽 다음 판
dbms:oracle:devel:regexp:regexp_like [2012/04/04 00:45]
starlits
dbms:oracle:devel:regexp:regexp_like [2016/06/12 02:13]
starlits [오라클 정규표현식 - REGEXP_LIKE]
줄 1: 줄 1:
-====== 오라클 정규표현식 - REGEXP_LIKE ======+====== REGEXP_LIKE ======
  
 +===== 정의 =====
 +  - 오라클 정규표현식의 하나.
 ===== REGEXP_LIKE ===== ===== REGEXP_LIKE =====
   - 이메일 형식 체크(Validate)이 맞는지 확인하는 쿼리이다. <code>   - 이메일 형식 체크(Validate)이 맞는지 확인하는 쿼리이다. <code>
줄 9: 줄 11:
   - 이메일 형식체크에 quotes 를 포함하여 아래의 구문을 따른다. <code>   - 이메일 형식체크에 quotes 를 포함하여 아래의 구문을 따른다. <code>
 '[a-zA-Z0-9._%-]+@[a-zA-Z0-9._%-]+\.[a-zA-Z]{2,4}'  '[a-zA-Z0-9._%-]+@[a-zA-Z0-9._%-]+\.[a-zA-Z]{2,4}' 
-</code> \\ <code> +</code> \\ http://stackoverflow.com/questions/787167/validation-on-email-postcode-fields-in-sql-oracle 
 +  - 날짜형식 체크 <code> 
 +ALTER SESSION SET NLS_LANGUAGE='AMERICAN'; 
 +with t as ( 
 +  select '01-02-2007' str from dual union all 
 +  select '7-8-2007'   str from dual union all 
 +  select '2007/03/28' str from dual union all 
 +  select '10-MAY-07'  str from dual 
 +
 +select str 
 +  , to_date(str, case when regexp_like(str,'[0-9]{1,2}-[0-9]{1,2}-[0-9]{4}'
 +                           then 'dd-mm-yyyy' 
 +                      when regexp_like(str,'[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}'
 +                           then 'yyyy/mm/dd' 
 +                      when regexp_like(str,'[0-9]{2}-[A-Z]{3}-[0-9]{2}'
 +                           then 'dd-mon-yy' 
 +                 end) as date1 
 +from t; 
 +</code> \\ ORA-01843: not a valid month 가 나올경우 NLS_LANG 을 확인해 본다. \\ <code> 
 +with t as ( 
 +  select '01-02-2007' str from dual union all 
 +  select '7-8-2007'   str from dual union all 
 +  select '2007/03/28' str from dual union all 
 +  select '10-MAY-07'  str from dual 
 +
 +select str 
 +  , to_date(str, case when regexp_like(str,'[0-9]{1,2}-[0-9]{1,2}-[0-9]{4}'
 +                           then 'dd-mm-yyyy' 
 +                      when regexp_like(str,'[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}'
 +                           then 'yyyy/mm/dd' 
 +                      when regexp_like(str,'[0-9]{2}-[A-Z]{3}-[0-9]{2}'
 +                           then 'dd-mon-yy' 
 +                 end,'NLS_DATE_LANGUAGE=AMERICAN') as date1 
 +from t;
 </code> </code>
- 
-  - http://stackoverflow.com/questions/787167/validation-on-email-postcode-fields-in-sql-oracle 
dbms/oracle/devel/regexp/regexp_like.txt · 마지막으로 수정됨: 2016/06/12 02:14 저자 starlits