SQL 와일드카드
와일드카드 문자를 사용하여 문자열의 다른 문자를 대체할 수 있습니다.
SQL 와일드카드
SQL에서 와일드카드는 SQL LIKE 연산자와 함께 사용됩니다.
SQL 와일드카드는 테이블에서 데이터를 검색하는 데 사용됩니다.
SQL에서는 다음 와일드카드 문자를 사용할 수 있습니다.
通配符 | 描述 |
---|---|
% | 替代 0 个或多个字符 |
_ | 替代一个字符 |
[charlist] | 字符列中的任何单一字符 |
[^charlist] 或 [!charlist] | 不在字符列中的任何单一字符 |
데모 데이터베이스
이 튜토리얼에서는 PHP 샘플 데이터베이스를 사용합니다.
다음은 "Websites" 테이블에서 선택된 데이터입니다:
+----+---------------+-- - ------------+-------+---------+
| 이름 | URL | 1 | 미국 |
| 2 | 타오바오 |
| 3 | CN |
| 4 | 웨이보 |
| 페이스북 | 7 | 스택오버플로우 | http://stackoverflow.com/ | 0 |
+----+-------------- -- -----+------+---------+
SQL 사용 % 와일드카드 | 이름 | URL | 1 | 미국 |
| 2 | 타오바오 |
| 3 | CN |
| 4 | 웨이보 |
| 페이스북 | 7 | 스택오버플로우 | http://stackoverflow.com/ | 0 |
+----+-------------- -- -----+------+---------+
다음 SQL 문은 URL이 "https" 문자로 시작하는 모든 웹사이트를 선택합니다.
예
SELECT * FROM Websites
WHERE url LIKE 'https%';
실행 출력 결과:
다음 SQL 문은 URL에 "oo" 패턴이 포함된 모든 웹 사이트를 선택합니다. " :
인스턴스
SELECT * FROM Websites
WHERE url LIKE '%oo%';
실행 출력 결과:
SQL _ 와일드카드 사용
다음 SQL 문은 이름이 임의의 문자로 시작하고 그 뒤에 "oogle"이 오는 모든 클라이언트를 선택합니다.
예
SELECT * FROM Websites
WHERE name LIKE '_oogle';
WHERE name LIKE '_oogle';
실행 출력 결과:
The 다음 SQL 문은 이름이 "G"로 시작하고 임의 문자, "o", 임의 문자, "le"로 시작하는 모든 웹 사이트를 선택합니다.
예
SELECT * FROM Websites
WHERE name LIKE 'G_o_le';
WHERE name LIKE 'G_o_le';
실행 출력 결과:
SQL 사용 [charlist] 와일드카드
MySQL에서 REGEXP 또는 NOT REGEXP 연산자(또는 RLIKE 및 NOT RLIKE)를 사용하여 정규식을 작동합니다.
다음 SQL 문은 이름이 "G", "F" 또는 "s"로 시작하는 모든 웹사이트를 선택합니다.
예
SELECT * FROM Websites
WHERE name REGEXP '^[GFs]';
WHERE name REGEXP '^[GFs]';
실행 출력 결과:
다음 SQL 문은 A에서 H까지 이름을 선택합니다. 문자로 시작하는 웹사이트:
Instance
SELECT * FROM Websites
WHERE name REGEXP '^[A-H]';
WHERE name REGEXP '^[A-H]';
실행 출력 결과:
다음 SQL 문은 이름이 A~H로 시작하지 않는 웹 사이트를 선택합니다.
예
SELECT * FROM Websites
WHERE name REGEXP '^[^A-H]';
WHERE name REGEXP '^[^A-H]';
실행 출력 결과: