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