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