CS/데이터베이스

오라클 사용법 기초 (정규식) DB

happy_life 2021. 10. 19. 17:33

SQL 작성시 유의 사항

1.SQL은 대소문자를 구분하지 않음

2.SQL문은 한 행 또는 여러 행에 걸쳐 작성 가능

3.예약어는 단축하거나 행을 바꿔서 사용할 수 없음.

 

기본 틀의 의미

SELECT

~를 가져온다는 뜻 

보통 칼럼명이 들어가나 *를 사용하면 칼럼 전체를 가져온다.

 

 

 

WHERE

검색조건

 

 

REGEXP_LIKE

특정 패턴과 매칭되는 결과를 검색하는 함수.(정규식에 사용된다) 

 

 

정규식 기호

사용 기호 의미 사용 예 실습
^ '첫번째 문자와 대응' '^\d' https://regex101.com/r/cO8lqs/2
$ '마지막의 문자와 대응' 'ab$' 는 'ad'의 'ad'와 매칭 https://regex101.com/r/iibVIG/1
. 개행 문자를 제외한 모든 단일 문자와 대응 "." 는 'a' 'b' 'c' 'e' 등의 단일 문자와 매칭 https://regex101.com/r/cO8lqs/5
[] 해당 문자에 해당하는 한 문자 '[a]attern' https://regex101.com/r/HZspJP/1
[^] 해당 문자에 해당하지 않는 한 문자 '[^a-m]attern' https://regex101.com/r/KAUoYI/1
| 또는 '(19|20)' https://regex101.com/r/cO8lqs/3
* 모든(앞의 표현식이 0회 이상 연속으로 반복되는 부분과 대응. {0,} 와 같은 의미) 'bo*'는 "A ghost booooed"의 "boooo"와 매칭되고

"bird"의 'b'와 매칭합니다.

https://regex101.com/r/Cw9lM3/1
+ 앞의 표현식이 1회 이상 연속으로 반복되는 부분과 대응. {1,} 와 같은 의미 'ab+'는 "abbbc"의 "abbb"와 매칭 https://regex101.com/r/6Ot9CJ/1
? 앞의 표현식이 0 또는 1회 등장하는 부분과 대응됩니다. {0,1} 와 같은 의미 "\.?\d*"는 '1' , ".1"에 매칭 https://regex101.com/r/DFdGJC/1
사용 기호  의미 사용 예 실습
\d 숫자의 문자형 하나와 매칭 '\d' 는 '0' '1' '2' ... '9' 등과 매칭 https://regex101.com/r/1H8q0k/1
{n,m} n과 m은 양의 정수이고, n <= m를 만족해야 합니다. 앞 문자가 최소 n개, 최대 m개가 나타나는 부분에 매칭 '\d{2,3}'은 "11" "111" 에 매칭 https://regex101.com/r/c1GVur/1
\n 줄바꿈 문자와 매칭   '\n\d'는 '줄바꿈+숫자하나'에 매칭 https://regex101.com/r/Oz9HC7/1
\s 하나의 공백 문자에 대응  '\s'는 줄바꿈 ,스페이스바 등 하나의 공백문자에 대응 https://regex101.com/r/Ab6PhJ/1
[가-힝] 한글에 대응  '[가-힝]{2}$'는 마지막 한글2자리 문자에 대응  https://regex101.com/r/5gFAKB/1
{n,} n은 숫자, n개 이상인 것에 대응 '\d{3,}'는 숫자가 3개 이상인 것에 대응


'[가-횡]{3,}'는 한글이 3개 이상인 것에 대응
https://regex101.com/r/kGFW6Z/1


https://regex101.com/r/qxIip6/1

 

숫자 정규식 사용시 유의사항

 

예를들어, 

041-555-3333 F.041-111-2222 를 쿼리할 때, 

 

정규식 '^[0,9]{3}-[0,9]{3}-[0,9]{4}[[:space:]}F\.[0,9]{3}-[0,9]{3}-[0,9]{4}$' 를 쓰면 쿼리가 올바르게 작동하지 않을 수 있다.

 

그럴 땐 '^\d{2,3}-\d{3,4}-\d{4}[[:space:]]F\.\d{2,3}-\d{3,4}-\d{4}$' 이런식으로 \d 의 숫자문자형이 필요하다.