English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
PostgreSQL 데이터베이스에서 특정 문자를 포함한 데이터를 가져오려면 다음과 같이 사용할 수 있습니다: LIKE 문
LIKE 문에서 일반적으로 패턴과 함께 사용되며, 패턴은 어떤 문자든지 나타냅니다. PostgreSQL에서는 다음과 같은 두 가지 패턴이 있습니다:
백분위 %
밑줄 _
위 두 가지 패턴을 사용하지 않으면 LIKE 문과 등호 =이 얻는 결과는 같습니다.
다음은 LIKE 문에서 밑줄을 사용한 예제: % 밑줄과 _ 데이터베이스에서 데이터를 가져오는 일반 문법:
SELECT FROM table_name WHERE column LIKE 'XXXX%'; 또는 SELECT FROM table_name WHERE column LIKE '%XXXX%'; 또는 SELECT FROM table_name WHERE column LIKE 'XXXX_'; 또는 SELECT FROM table_name WHERE column LIKE '_XXXX'; 또는 SELECT FROM table_name WHERE column LIKE '_XXXX_';
WHERE 절에서 어떤 조건을 지정할 수 있습니다。
AND나 OR를 사용하여 하나 이상의 조건을 지정할 수 있습니다。
XXXX 또는 어떤 숫자나 문자가 될 수 있습니다。
LIKE 문에서 %와 _의 일부 차이를 보여주는 예제:
예제 | 설명 |
---|---|
WHERE SALARY::text LIKE '200%' | SALARY 필드에 포함된 200 시작하는 데이터를 찾습니다。 |
WHERE SALARY::text LIKE '%200%' | SALARY 필드에 포함된 200 문자 데이터。 |
WHERE SALARY::text LIKE '_00%' | SALARY 필드에서 두 번째와 세 번째 위치에 00이 있는 데이터를 찾습니다。 |
WHERE SALARY::text LIKE '2 %%' | SALARY 필드에 포함된 2 시작하는 문자의 길이가 3 의 데이터。 |
WHERE SALARY::text LIKE '%2' | SALARY 필드에 포함된 2 끝에 있는 데이터 |
WHERE SALARY::text LIKE '_2%3' | SALARY 필드에 2 두 번째 위치에 있으며 3 끝에 있는 데이터 |
WHERE SALARY::text LIKE '2___3' | SALARY 필드에 포함된 2 시작하는3 끝에 있으며 5 자릿수 데이터 |
PostgreSQL에서 LIKE 절은 문자에만 사용할 수 있으며, 따라서 위의 예제에서는 정수 데이터형을 문자 데이터형으로 변환해야 합니다.
COMPANY 테이블 생성(COMPANY SQL 파일 다운로드 ),데이터 내용은 다음과 같습니다:
w3codeboxdb# select * from COMPANY; id | name | age | address | salary ----+-------+-----+-----------+-------- 1 | Paul | 32 | California| 20000 2 | Allen | 25 | Texas | 15000 3 | Teddy | 23 | Norway | 20000 4 | Mark | 25 | Rich-Mond | 65000 5 | David | 27 | Texas | 85000 6 | Kim | 22 | South-Hall| 45000 7 | James | 24 | Houston | 10000 (7 rows)
아래 예제에서 AGE가 2 시작하는 데이터:
w3codeboxdb=# SELECT * FROM COMPANY WHERE AGE::text LIKE '2%';
다음과 같은 결과를 얻습니다:
id | name | age | address | salary ----+-------+-----+-------------+-------- 2 | Allen | 25 | Texas | 15000 3 | Teddy | 23 | Norway | 20000 4 | Mark | 25 | Rich-Mond | 65000 5 | David | 27 | Texas | 85000 6 | Kim | 22 | South-Hall | 45000 7 | James | 24 | Houston | 10000 8 | Paul | 24 | Houston | 20000 (7 rows)
아래 예제에서 address 필드에 포함된 - 문자 데이터:
w3codeboxdb=# SELECT * FROM COMPANY WHERE ADDRESS LIKE '%-%';
결과를 다음과 같이 얻습니다:
id | name | age | address | salary ----+------+-----+-------------------------------------------+-------- 4 | Mark | 25 | Rich-Mond | 65000 6 | Kim | 22 | South-Hall | 45000 (2 rows)