>  기사  >  데이터 베이스  >  필드에 문자열이 포함되어 있는지 확인하는 MySQL 방법

필드에 문자열이 포함되어 있는지 확인하는 MySQL 방법

藏色散人
藏色散人원래의
2020-02-07 09:43:0429057검색

필드에 문자열이 포함되어 있는지 확인하는 MySQL 방법

필드에 문자열이 포함되어 있는지 확인하는 MySQL 메서드

#🎜🎜 #

방법 1: like

SELECT * FROM table name WHERE 필드 이름 like "% 문자 %";

방법 2 : find_in_set()

mysql 문자열 함수 사용 find_in_set();

SELECT * FROM users WHERE find_in_set('字符', 字段名);

괜찮습니다. 어떻게 이해하시나요?

MySQL에는 많은 문자열 함수가 있습니다. find_in_set(str1,str2) 함수는 str2에서 str1의 위치 인덱스를 반환합니다. ","로 구분해야 합니다.

참고: str2가 NO1: "3,6,13,24,33,36", NO2: "13,33,36,39"인 경우 두 데이터의 str2 필드가 있는지 확인합니다. '3'이 포함되어 있습니다. 이 함수는 완벽하게 해결할 수 있습니다.

mysql > SELECT find_in_set()('3','3,6,13,24,33,36') as test;
-> 1
mysql > SELECT find_in_set()('3','13,33,36,39') as test;
-> 0

방법 3: 찾기(문자, 필드 이름)# 🎜🎜#찾기(문자, 필드 이름) 함수를 사용합니다. 포함된 경우 숫자 >0을 반환하고, 그렇지 않으면 0을 반환합니다.

별칭은 위치입니다.

select * from 表名 where locate(字符,字段)
select * from 表名 where position(字符 in 字段);

예 : 사이트 테이블의 URL에 'http://' 하위 문자열이 포함되어 있는지 확인합니다. 그렇지 않은 경우 URL 문자열

update site set url =concat('http://',url) where locate('http://',url)=0

+가 시작 부분에 이어집니다. mysql에서 문자열을 연결할 때는 부호 +를 사용할 수 없습니다. concat 함수를 사용하세요.

방법 4: INSTR(field, Character)

select * from table name where INSTR(field, Character)# 🎜🎜#

또한 작성자는 위 SQL(find_in_set 제외)의 실행 계획을 확인한 결과 모두 다음과 같은 것을 확인했습니다.

#🎜🎜 #

퍼지 쿼리에 검색을 사용하면 속도가 빠르다고 인터넷에 떠도는데 어떻게 결론이 나왔는지 모르겠습니다. 엄청난 양의 데이터까지.

필드에 문자열이 포함되어 있는지 확인하는 MySQL 방법(무료 학습 동영상 튜토리얼 추천:

mysql 동영상 튜토리얼

)

위 내용은 필드에 문자열이 포함되어 있는지 확인하는 MySQL 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.