SQLite Like 절
SQLite의 LIKE 연산자는 와일드카드로 지정된 패턴의 텍스트 값을 일치시키는 데 사용됩니다. LIKE 연산자는 검색 표현식이 패턴 표현식과 일치하는 경우 true(1)를 반환합니다. LIKE 연산자에는 두 개의 와일드카드 문자가 사용됩니다.
퍼센트 기호(%)
밑줄(_)
퍼센트 기호(%)는 0, 하나 이상의 숫자 또는 문자를 나타냅니다. 밑줄(_)은 단일 숫자 또는 문자를 나타냅니다. 이러한 기호는 조합하여 사용할 수 있습니다.
구문
%와 _의 기본 구문은 다음과 같습니다.
SELECT FROM table_name
WHERE 열 LIKE 'XXXX%'
또는
SELECT FROM table_name
WHERE 열 LIKE '%XXXX%'
또는
SELECT FROM table_name
WHERE 열 LIKE 'XXXX_ '
또는
SELECT FROM table_name
WHERE 열 LIKE '_XXXX'
또는
SELECT FROM table_name
WHERE 열 LIKE '_XXXX_ '
WHERE 열 LIKE 'XXXX%'
또는
SELECT FROM table_name
WHERE 열 LIKE '%XXXX%'
또는
SELECT FROM table_name
WHERE 열 LIKE 'XXXX_ '
또는
SELECT FROM table_name
WHERE 열 LIKE '_XXXX'
또는
SELECT FROM table_name
WHERE 열 LIKE '_XXXX_ '
AND 또는 OR 연산자를 사용하여 N개의 조건을 결합할 수 있습니다. 여기서 XXXX는 임의의 숫자 또는 문자열 값일 수 있습니다.
예
다음 예에서는 '%' 및 '_' 연산자를 사용하는 LIKE 절의 차이점을 보여줍니다.
语句 | 描述 |
---|---|
WHERE SALARY LIKE '200%' | 查找以 200 开头的任意值 |
WHERE SALARY LIKE '%200%' | 查找任意位置包含 200 的任意值 |
WHERE SALARY LIKE '_00%' | 查找第二位和第三位为 00 的任意值 |
WHERE SALARY LIKE '2_%_%' | 查找以 2 开头,且长度至少为 3 个字符的任意值 |
WHERE SALARY LIKE '%2' | 查找以 2 结尾的任意值 |
WHERE SALARY LIKE '_2%3' | 查找第二位为 2,且以 3 结尾的任意值 |
WHERE SALARY LIKE '2___3' | 查找长度为 5 位数,且以 2 开头以 3 结尾的任意值 |
COMPANY 테이블에 다음과 같은 레코드가 있다고 가정하여 실제적인 예를 들어보겠습니다.
ID “NAME “AGE “SALARY
---------- -- --- ----- ---------- ---------- ----------
1 Paul 32 캘리포니아 20000.0
2 Allen 25 텍사스 15000.0
3 ~
다음은 표시되는 예입니다. AGE가 2로 시작하는 COMPANY 테이블의 모든 레코드:
sqlite> SELECT * FROM COMPANY WHERE AGE LIKE '2%';---------- -- --- ----- ---------- ---------- ----------
1 Paul 32 캘리포니아 20000.0
2 Allen 25 텍사스 15000.0
3 ~
다음은 표시되는 예입니다. AGE가 2로 시작하는 COMPANY 테이블의 모든 레코드:
다음과 같은 결과가 나옵니다.
ID ~ ------ ---------- ----------
2 Allen 25 텍사스 15000.0
3 테디 23 노르웨이 20000.0
4 마크 25 Rich- Mond 65000.0
5 David 27 Texas 85000.0
6 Kim 22 South-Hall 45000.0
7 James 24 Houston 10000.0
2 Allen 25 텍사스 15000.0
3 테디 23 노르웨이 20000.0
4 마크 25 Rich- Mond 65000.0
5 David 27 Texas 85000.0
6 Kim 22 South-Hall 45000.0
7 James 24 Houston 10000.0
sqlite> SELECT * FROM COMPANY WHERE ADDRESS LIKE '% -%';
다음 결과가 생성됩니다: ID 이름 연령 주소 급여
------------ -- --------- ----------- --- ------- ----------
4 마크 25 리치몬드 65000.0
6 김 22 사우스홀 45000.0
4 마크 25 리치몬드 65000.0
6 김 22 사우스홀 45000.0