SQLite-LIKE 절

SQLite LIKE연산자는 와일드 카드를 사용하여 패턴에 대해 텍스트 값을 일치시키는 데 사용됩니다. 검색 표현식이 패턴 표현식과 일치 할 수있는 경우 LIKE 연산자는 1 인 true를 리턴합니다. LIKE 연산자와 함께 사용되는 두 개의 와일드 카드가 있습니다.

  • 백분율 기호 (%)
  • 밑줄 (_)

백분율 기호는 0, 1 또는 여러 숫자 또는 문자를 나타냅니다. 밑줄은 단일 숫자 또는 문자를 나타냅니다. 이러한 기호는 조합하여 사용할 수 있습니다.

통사론

다음은 % 및 _의 기본 구문입니다.

SELECT FROM table_name
WHERE column LIKE 'XXXX%'
or 
SELECT FROM table_name
WHERE column LIKE '%XXXX%'
or
SELECT FROM table_name
WHERE column LIKE 'XXXX_'
or
SELECT FROM table_name
WHERE column LIKE '_XXXX'
or
SELECT FROM table_name
WHERE column LIKE '_XXXX_'

결합 할 수 있습니다. NAND 또는 OR 연산자를 사용하는 조건 수. 여기서 XXXX는 숫자 또는 문자열 값이 될 수 있습니다.

다음 표에는 '%'및 '_'연산자를 사용하여 서로 다른 LIKE 절이있는 WHERE 부분을 보여주는 여러 예가 나열되어 있습니다.

Sr. 아니. 성명 및 설명
1

WHERE SALARY LIKE '200%'

200으로 시작하는 모든 값을 찾습니다.

2

WHERE SALARY LIKE '%200%'

임의의 위치에 200이있는 모든 값을 찾습니다.

WHERE SALARY LIKE '_00%'

두 번째 및 세 번째 위치에 00이있는 모든 값을 찾습니다.

4

WHERE SALARY LIKE '2_%_%'

2로 시작하고 길이가 3 자 이상인 모든 값을 찾습니다.

5

WHERE SALARY LIKE '%2'

2로 끝나는 모든 값을 찾습니다.

6

WHERE SALARY LIKE '_2%3'

두 번째 위치에 2가 있고 3으로 끝나는 값을 찾습니다.

7

WHERE SALARY LIKE '2___3'

2로 시작하고 3으로 끝나는 5 자리 숫자에서 모든 값을 찾습니다.

실제 예를 들어 다음 레코드가있는 COMPANY 테이블을 고려해 보겠습니다.

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

다음은 AGE가 2로 시작하는 COMPANY 테이블의 모든 레코드를 표시하는 예입니다.

sqlite> SELECT * FROM COMPANY WHERE AGE LIKE '2%';

그러면 다음과 같은 결과가 생성됩니다.

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

다음은 ADDRESS가 텍스트 내부에 하이픈 (-)이있는 COMPANY 테이블의 모든 레코드를 표시하는 예입니다.

sqlite> SELECT * FROM COMPANY WHERE ADDRESS  LIKE '%-%';

그러면 다음과 같은 결과가 생성됩니다.

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
4           Mark        25          Rich-Mond   65000.0
6           Kim         22          South-Hall  45000.0