본문 바로가기
IT-개발,DB

[MS SQL] 와일드카드 문자로 사용된 문자 검색 ('%', '*', '_', '[', ']', etc)

by SB리치퍼슨 2010. 4. 6.
반응형

와일드카드 문자로 사용된 문자 검색

MS SQL SERVER
때때로 와일드카드 문자로 사용된 문자가 들어 있는 문자열을 검색해야 하는 경우가 있습니다. 예를 들어 titles 테이블에서 제목에 "10%"라는 문자열이 들어 있는 모든 출판물을 찾으려는 경우 "%"가 검색하려는 문자열의 일부이기 때문에 이 문자는 와일드카드 문자가 아니라 리터럴 문자열이라고 지정해야 합니다.

와일드카드 문자로 해석될 수 있는 문자를 검색하려면 제어 문자를 지정하면 됩니다. 와일드카드가 아닌 문자 자체로 간주할 "%"나 "_" 바로 앞에 제어 문자를 붙입니다. 제어 문자를 지정하려면 LIKE 검색 기준 바로 다음에 ESCAPE 절을 포함합니다. 표 형태 창이나 SQL 창의 기준 열에서 이 작업을 할 수 있습니다.

"#" 문자를 제어 문자로 정의하면 "%" 문자 앞에 "#"를 포함시킵니다. 표 형태 창에 이를 입력할 수 있습니다.

LIKE '%10#%%' ESCAPE '#'

SQL 문의 WHERE 절은 아래와 같습니다.

WHERE title LIKE '%10#%%' ESCAPE '#'

메모   SQL 창에서만 제어 문자를 정의할 수 있습니다.

 

와일드카드 문자

와일드카드 문자를 사용하면 텍스트 문자열로 간주되는 모든 열을 검색할 수 있습니다. 데이터 형식 문자가 들어 있는 열은 항상 텍스트 문자열로 간주됩니다. 날짜/시간 데이터가 들어 있는 문자들은 일부 데이터베이스에 대하여 텍스트 문자열로 간주될 수 있습니다.

패턴을 검색하려면 LIKE 연산자를 사용하여 검색 문자열의 일부 문자를 와일드카드 문자로 대체하십시오. 아래와 같은 와일드카드 문자를 사용할 수 있습니다.

와일드카드 문자 의미
%(백분율 기호) 해당 위치에 있는 0개 이상의 문자
_(밑줄) 해당 위치에 있는 문자 하나

예를 들어 "Mac"로 시작하는 모든 이름을 검색하려면 검색 조건 LIKE 'Mac%'을 지정할 수 있습니다. "Jan", "Jen", "Jon" 같은 이름을 찾으려면 검색 조건을 LIKE 'J_n'으로 지정하면 됩니다.

반응형

댓글