Mysql|마스크 를 사용 하여 모호 한 조회 상세(like,%,)

어댑터 의 분류:
%퍼센트 마스크:모든 문자 가 임의의 횟수 를 나타 내 는 것 을 표시 합 니 다(0 회 일 수 있 습 니 다).
_밑줄 마스크:한 글자 만 일치 할 수 있 고 많 거나 적 으 면 안 된다 는 뜻 입 니 다.한 글자 입 니 다.
like 연산 자:
LIKE 역할 은 mysql 뒤의 검색 모드 를 직접적 으로 일치 하 는 것 이 아니 라 마스크 를 이용 하여 비교 하도록 지시 하 는 것 입 니 다.
메모:like 연산 자 를 사용 할 때 뒤에 있 는 일반적인 일치 자 를 사용 하지 않 으 면 효과 가=과 일치 합 니 다.SELECT*FROM products WHERE products.prodname like '1000';일치 하 는 결 과 는 1000 이지 JetPack 1000 과 같은 결 과 는 일치 하지 않 습 니 다.
1)%마스크 사용:
"yves"로 시작 하 는 기록 과 일치 합 니 다.("yves"기록 포함)
SELECT * FROM products WHERE products.prod_name like 'yves%';
"yves"를 포함 하 는 기록 과 일치 합 니 다("yves"기록 포함)
SELECT * FROM products WHERE products.prod_name like '%yves%';
"yves"로 끝 나 는 기록 과 일치 합 니 다.("yves"를 기록 하 는 것 은 포함 되 지 않 습 니 다."yves"를 기록 하 는 것 은 포함 되 지 않 습 니 다.즉,yves 뒤에 빈 칸 이 있 는 기록 입 니 다.여기 서 주의해 야 합 니 다)
SELECT * FROM products WHERE products.prod_name like '%yves';
2)_어댑터 사용:
SELECT * FROM products WHERE products.prod_name like '_yves';
일치 하 는 결 과 는"yyves"와 같이 기 록 됩 니 다.
SELECT * FROM products WHERE products.prod_name like 'yves__';
일치 하 는 결 과 는"yveshe"와 같은 기록 입 니 다.(밑줄 은 한 글자 만 일치 할 수 있 고 많 을 수도 적 을 수도 없습니다)
주의사항:
대소 문 자 를 주의 하 세 요.모호 한 일치,즉 일치 하 는 텍스트 를 사용 할 때 my sql 은 크기 를 구분 할 수도 있 고 대소 문 자 를 구분 하지 않 을 수도 있 습 니 다.이 결 과 는 MySQL 에 대한 사용자 의 설정 방식 에 달 려 있 습 니 다.대소 문 자 를 구분 하 는 것 이 라면 Yveshe 처럼 기록 하 는 것 은"yves"에 의 해 서 는 안 됩 니 다.이러한 일치 조건 이 일치 합 니 다.
끝 에 빈 칸 을 주의 하 십시오."%yves"는"heyves"와 같은 기록 과 일치 하지 않 습 니 다.
NULL 을 주의 하 십시오.%마스크 는 임의의 문자 와 일치 할 수 있 지만 NULL 과 일치 할 수 없습니다.즉,SELECT*FROM products WHERE products.prodname like '%';produts.prod 와 일치 하지 않 습 니 다.name NULL 의 기록 입 니 다.
기술 과 제안:
보시 다시 피 MySQL 의 어댑터 가 유용 합 니 다.그러나 이런 기능 은 대가 가 있다.마스크 검색 처 리 는 일반적으로 앞에서 논의 한 다른 검색 보다 더 오래 걸린다.여기에 마스크 를 사용 할 때 기억 해 야 할 기 교 를 제시한다.
어댑터 를 지나치게 사용 하지 마 세 요.다른 조작 부호 가 같은 목적 을 달성 할 수 있다 면 다른 조작 부 호 를 사용 해 야 한다.
어댑터 를 사용 해 야 할 때 필요 하지 않 으 면 검색 모드 의 시작 부분 에 사용 하지 마 십시오.검색 모드 의 시작 부분 에 마스크 를 두 면 검색 이 가장 느 립 니 다.
어댑터 의 위 치 를 주의 하 세 요.잘못 놓 으 면 원 하 는 숫자 로 돌아 가지 않 을 수도 있 습 니 다.
보충 지식:MySQL LIKE 모호 조회%어댑터 는 모든 데 이 터 를 조회 합 니 다.
최근 에 페이지 별 조회 테스트 를 써 서 검색 용%이 두 특수 문 자 는 모든 데이터 조회 조건 이 작 동 하지 않 음 을 조회 할 수 있 습 니 다.결 과 는 테스트 가 원 하 는 것 이 아 닙 니 다.
나중에 이 두 특수 문 자 는 sql like 조회 에서 마스크 로 임의의 문 자 를 대표 할 수 있 음 을 발견 하 였 다.
마지막 으로 두 가지 해결 방안 을 생각해 냈 다.
1.전의 라 는 두 특수 문 자 를 실현 할 수 있다.
2.내부 함수 INSTR 을 사용 하여 전통 적 인 LIKE 방식 대신 조회 하고 속도 가 빠르다.
INSTR()함 수 는 문자열 의 중성자 문자열 이 처음 나타 난 위 치 를 되 돌려 줍 니 다.str 에서 하위 문자열 을 찾 지 못 하면 INSTR()함수 가 0(0)으로 되 돌아 갑 니 다.
다음은 INSTR 함수 의 문법 을 설명 한다.
select*from user where INSTR(name,'소명');
이 Mysql|마스크 를 사용 하여 모호 한 조회 상세 설명(like,%,)바로 편집장 님 께 서 여러분 께 공유 해 주신 모든 내용 입 니 다.참고 해 주시 고 많은 응원 부 탁 드 리 겠 습 니 다.

좋은 웹페이지 즐겨찾기