code

MySQL의 텍스트 열에서 문자열 검색

codestyles 2020. 12. 4. 08:15
반응형

MySQL의 텍스트 열에서 문자열 검색


xml을 문자열로 저장하는 열이있는 mysql 테이블이 있습니다. xml 열에 주어진 6 자 문자열이 포함 된 모든 튜플을 찾아야합니다. 다른 것은 중요하지 않습니다. 내가 알아야 할 것은이 6 개의 문자열이 있는지 여부입니다.

따라서 텍스트가 xml로 형식화되어 있는지는 중요하지 않습니다.

질문 : mysql에서 어떻게 검색 할 수 있습니까? SELECT * FROM items WHERE items.xml [contains the text '123456']

LIKE 연산자를 사용하여이를 수행 할 수있는 방법이 있습니까?


LIKE사용하여 간단한 문자열 일치를 수행 할 수 있습니다 .

SELECT * FROM items WHERE items.xml LIKE '%123456%'

더 고급 기능이 필요한 경우 여기에서 MySQL의 전체 텍스트 검색 기능을 살펴보십시오. http://dev.mysql.com/doc/refman/5.1/en/fulltext-search.html


like를 사용하면 시간이 오래 걸릴 수 있으므로 full_text_search를 사용 하십시오 .

SELECT * FROM items WHERE MATCH(items.xml) AGAINST ('your_search_word')

SELECT * FROM items WHERE `items.xml` LIKE '%123456%'

%연산자 LIKE는 "무엇이든 여기에있을 수 있음" 의미합니다.


LIKE를 사용하지 않는 이유는 무엇입니까?

SELECT * FROM items WHERE items.xml LIKE '%123456%'

네 말 뜻은:

SELECT * FROM items WHERE items.xml LIKE '%123456%'

워드 프레스 준비 라인을 사용하는 경우 위의 솔루션이 작동하지 않습니다. 이것이 내가 사용한 솔루션입니다.

   $Table_Name    = $wpdb->prefix.'tablename';
   $SearchField = '%'. $YourVariable . '%';   
   $sql_query     = $wpdb->prepare("SELECT * FROM $Table_Name WHERE ColumnName LIKE %s", $SearchField) ;
 $rows = $wpdb->get_results($sql_query, ARRAY_A);

참고 URL : https://stackoverflow.com/questions/2526772/search-for-string-within-text-column-in-mysql

반응형