콘텐츠로 건너뛰기
리뷰나라
  • JAVASCRIPT
  • JAVA
  • PYTHON
  • C#
  • Android
  • Html

[mysql] LIKE 와일드 카드를 사용하여 열에서 어떻게 대소 문자를 구분하지 않고 검색 할 수 있습니까?

Program / 글쓴이 어드민

나는 몇 가지를 둘러 보았고 내가 겪은 것을 찾지 못했습니다.

SELECT * FROM trees WHERE trees.`title` LIKE  '%elm%'

이것은 잘 작동하지만 나무의 이름이 Elm 또는 ELM 등인 경우에는 그렇지 않습니다.

이 와일드 카드 검색에서 SQL 대소 문자를 구분하지 않게하려면 어떻게합니까?

MySQL 5와 Apache를 사용하고 있습니다.



답변

SELECT  *
FROM    trees
WHERE   trees.`title` COLLATE UTF8_GENERAL_CI LIKE '%elm%'

실제로 COLLATE UTF8_GENERAL_CI열 정의에 추가 하면 이러한 트릭을 모두 생략 할 수 있습니다. 자동으로 작동합니다.

ALTER TABLE trees 
 MODIFY COLUMN title VARCHAR(…) CHARACTER 
 SET UTF8 COLLATE UTF8_GENERAL_CI. 

또한이 열에서 인덱스를 다시 작성하여 ‘%’를 선행하지 않고 쿼리에 사용할 수 있습니다.


답변

나는 항상 이것을 사용하여 더 낮게 해결했습니다.

SELECT * FROM trees WHERE LOWER( trees.title ) LIKE  '%elm%'


답변

대 / 소문자 구분은 열 / 테이블 / 데이터베이스 데이터 정렬 설정에서 정의됩니다. 다음과 같은 방법으로 특정 데이터 정렬에서 쿼리를 수행 할 수 있습니다.

SELECT *
FROM trees
WHERE trees.`title` LIKE '%elm%' COLLATE utf8_general_ci

예를 들어.

( utf8_general_ci유용한 데이터 정렬로 바꾸십시오). 는 _ci의미 사례를 구분 .


답변

다음은 간단한 LIKE 쿼리의 예입니다.

SELECT * FROM <table> WHERE <key> LIKE '%<searchpattern>%'

이제 LOWER () func을 사용하여 대소 문자를 구분하지 않습니다.

SELECT * FROM <table> WHERE LOWER(<key>) LIKE LOWER('%<searchpattern>%')


답변

간단히 사용하십시오 :

"SELECT * FROM `trees` WHERE LOWER(trees.`title`) LIKE  '%elm%'";

또는 사용

"SELECT * FROM `trees` WHERE LCASE(trees.`title`) LIKE  '%elm%'";

두 기능 모두 동일하게 작동


답변

나는 그런 일을하고 있습니다.

소문자로 값을 가져오고 MySQL은 나머지를 수행합니다.

    $string = $_GET['string'];
    mysqli_query($con,"SELECT *
                       FROM table_name
                       WHERE LOWER(column_name)
                       LIKE LOWER('%$string%')");

그리고 MySQL PDO 대안의 경우 :

        $string = $_GET['string'];
        $q = "SELECT *
              FROM table_name
              WHERE LOWER(column_name)
              LIKE LOWER(?);";
        $query = $dbConnection->prepare($q);
        $query->bindValue(1, "%$string%", PDO::PARAM_STR);
        $query->execute();


답변

이 쿼리는 대소 문자를 구분하지 않는 검색을 수행한다고 생각합니다.

SELECT * FROM trees WHERE trees.`title` ILIKE '%elm%';




글 탐색

← 이전 글
다음 글 →

최신 글

  • [java] .pem 파일을 읽고 개인 및 공개 키를 얻는 방법
  • [javascript] 페이지의 모든 AJAX 요청에 “후크”추가
  • [android] ListView가 접히지 않고 어떻게 ScrollView에 넣을 수 있습니까?
  • [linux] Apache 서버의 루트 디렉토리를 어떻게 변경합니까? [닫은]
  • [ios] Swift에서 Int를 Hex String으로 변환하는 방법
  • [python] 등급 시스템 기능에서 반복적 인 if-elif 문을 어떻게 단순화 할 수 있습니까?
  • [c#] C #에서 스택 오버플로 예외 포착
  • [windows] Windows의 /usr/local/ssl/openssl.cnf에서 구성 정보를로드 할 수 없습니다
  • [twitter-bootstrap] Bootstrap을 사용하여 모바일에 테이블을 표시하는 방법은 무엇입니까?
  • [windows] BATCH 스크립트에서 무작위로 사용하는 방법은 무엇입니까?

카테고리

태그

.net android angular angularjs arrays asp.net asp.net-mvc bash c c# css database django docker html ios iphone java javascript jquery json linux macos mysql node.js objective-c pandas php postgresql python r reactjs regex ruby ruby-on-rails shell sql sql-server string swift typescript unix visual-studio windows xcode
Copyright © daplus.net - Powered by Naya