본문 바로가기
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'으로 지정하면 됩니다.

반응형

댓글