MariaDB SQL

MariaDB Like

ssamhago 2023. 5. 23. 10:26
728x90
320x100

MariaDB Like

 

MariaDB like 연산자를 사용하여 특정 패턴과 일치하는 문자열을 검색하는 방법을 배웁니다.

 

 

MariaDB like 연산자 소개

 

MariaDB like 연산자는 문자열이 특정 패턴과 일치하면 true를 반환하는 논리 연산자입니다.

패턴에는 일반 문자와 특수 문자가 포함됩니다. 특수 문자를 와일드카드라고 합니다.

MariaDB는 퍼센트(%)와 밑줄(_)의 두 가지 와일드카드를 지원합니다.

  • 퍼센트 와일드카드(%)는 0개 이상의 문자열과 매칭시킵니다.
  • 밑줄(_) 와일드카드는 모든 단일 문자와 매칭시킵니다.

다음은 like 연산자의 구문을 보여줍니다.

expression like pattern

like 연산자는 패턴을 기반으로 행을 필터링하기 위한 조건자를 형성하기 위해 selectupdate 및 delete 문의 where 절에 사용됩니다.

 

 

MariaDB like 연산자 예제

샘플 데이터베이스의 국가 테이블을 사용하여 like 연산자를 시연합니다.

 

국가 테이블

 

1) 백분율(%) 와일드카드 예제와 함께 MariaDB like 연산자 사용

이 쿼리는 백분율(%) 와일드카드를 사용하여 이름이 문자 'D'로 시작하는 국가를 찾습니다.

select
    name
from
    countries
where
    name like 'd%'
order by name ;

 

다음 예에서는 이름이 문자열 'tan'으로 나는 국가를 찾습니다.

select
    name
from
    countries
where
    name like '%tan'
order by name;

 

다음 명령문은 이름에 'state' 문자열이 포함된 국가를 찾습니다.

select
    name
from
    countries
where
    name like '%state%'
order by name;

 

 

2) ( _ ) 와일드카드 예제와 함께 MariaDB like 연산자 사용

다음 예에서는 이름이 'U'문자로 시작하고 임의의 문자가 두번째 위치하고 그 뒤에 'A'문자가 오며 임의 개수의 문자로 끝나는 국가를 찾습니다.

select
    name
from
    countries
where
    name like 'U_A%'
order by name;

결과) USA

 

 

이스케이프 문자

 

이스케이프 문자는 이스케이프를 따라서 문자들로서 다음 문자가 지정 문자임을 알리는 백슬래시를 사용합니다.
일부 제어인 이스케이프 문자는 미리 예약되어 있습니다.

경우에 따라 일치시키려는 데이터에 10% 또는 10_12와 같은 와일드카드 문자가 포함될 수 있습니다.

MariaDB는 백슬래시 문자( \ )를 기본 이스케이프 문자로 사용합니다.


다음 문은 V_2019가 '%\_20%' 패턴과 일치하므로 1을 반환합니다. \는 like 연산자가 밑줄 _을 일반 문자로 취급하도록 지시하는 이스케이프 문자입니다.

select 'V_2019' like '%\_20%' ;

 

기본 이스케이프 문자를 변경하려면 이스케이프 절을 사용합니다.

expression like pattern
    escape escape_characters

 

다음 문은 escape 절을 사용하여 기본 문자를 #으로 변경합니다.

select 'V_2019' like '%#_20%' escape '#';

 

 

여기까지 MariaDB like 연산자를 사용하여 값이 특정 패턴과 일치하는지 확인하는 방법을 알아봤습니다.

 

 

※ 원문출처 : MariaDB Like (mariadbtutorial.com)

 

728x90
반응형

'MariaDB SQL' 카테고리의 다른 글

MariaDB in  (0) 2023.05.25
가로 데이터를 세로 데이터로 변환해보자  (0) 2023.05.24
MariaDB Between  (0) 2023.05.22
MariaDB Distinct  (0) 2023.05.18
MariaDB Where  (0) 2023.05.17