mysql 퍼지 쿼리 문이란 무엇입니까?
퍼지 쿼리 문은 다음과 같습니다: "SELECT field FROM table WHERE 특정 필드 Like 조건".
mysql은 네 가지 일치 모드를 제공합니다.
1, %는 0개 이상의 문자를 나타냅니다.
다음 명령문:
SELECT * FROM user WHERE name LIKE ';%三%';
은 "Zhang San", "Three-legged Cat", "Tang Sanzang" 등의 이름을 "三"으로 변경합니다. 모두 찾아보세요.
2. _는 단일 문자를 나타냅니다. 명령문:
SELECT * FROM user WHERE name LIKE ';_三_';
이름이 세 글자이고 중간 글자가 "三"인 "Tang Sanzang"만 찾습니다.
SELECT * FROM user WHERE name LIKE; ';三__';
이름이 세 글자이고 첫 글자가 "三";
이 되도록 "세다리 고양이"만 찾습니다. 3. 괄호 안에 나열된 문자 중 하나(유사)를 의미합니다. 정규식으로).
문:
SELECT * FROM user WHERE name LIKE ';[张李王]三';
는 "Zhang San", "Li San", "Wang San"("Zhang Li Wang] 대신)을 찾습니다. "3");
[ ]에 일련의 문자(01234, abcde 등)가 포함된 경우 "0-4", "a-e"로 축약할 수 있습니다.
SELECT * FROM user WHERE name LIKE ';old [1- 9]';
"Old 1", "Old 2",..., "Old 9"를 찾습니다.
"-" 문자를 찾으려면 먼저 입력하세요.'; Zhang San[-1 -9]';
4, [^ ]은 괄호 안에 나열되지 않은 단일 문자 를 의미합니다.
문:
SELECT * FROM user WHERE name LIKE ';[^Zhang Liwang]三';
은 "Zhao San", "Zhao San", "Zhang", "Li", "Wang" Sun을 찾습니다. San" 등;
SELECT * FROM user WHERE name LIKE ';老[^1-4]';
은 "old 1"에서 "old 4"를 제외하여 "old 5", "old 6"을 찾습니다. ,... ..., "올드 9".
마지막이 핵심이에요!
와일드카드로 인해 특수 문자 "%", "_", "[" 및 "';"에 대한 쿼리 문은 정상적으로 구현될 수 없습니다. 그러나 특수 문자를 "[ ]"로 묶으면 정상적으로 쿼리할 수 있습니다. 이를 바탕으로 다음 함수를 작성했습니다.
function sqlencode(str) str=replace(str,"';","';';") str=replace(str,"[","[[]") ';此句一定要在最先 str=replace(str,"_","[_]") str=replace(str,"%","[%]") sqlencode=str end function
추천 튜토리얼: "MySQL Tutorial"
위 내용은 mysql 퍼지 쿼리 문이란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!