IT HOW

무엇이는 물어보세요

컨텐츠로 건너뛰기
  • 프로그래밍
  • 파이썬
  • 자바
  • 자바스크립트
  • 리눅스
  • c#

LIKE 와일드 카드를 사용하여 열에서 어떻게 대소 문자를 구분하지 않고 검색 할 수 있습니까? 이름이 Elm 또는 ELM 등인 경우에는 그렇지

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

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%';

이 글은 프로그래밍 카테고리에 분류되었고 case-insensitive, mysql, sql, sql-like 태그가 있으며 [호호] 야야님에 의해 2022년 3월 11일에 작성되었습니다.

글 네비게이션

← 로그인 화면에 나타나지 않는 사용자를 만드는 방법은 무엇입니까? 로그인 화면에 표시되는 것을 sshd_config 파일에서 ‘비밀번호 없음’은 무엇을 의미합니까? 할 수 있다고 생각했습니다. 다음을 통해 루트로 서버에 →

태그

  • android
  • apt
  • backup
  • bash
  • boot
  • c#
  • c++
  • command-line
  • css
  • debian
  • email
  • firefox
  • git
  • google-chrome
  • hard-drive
  • html
  • ios
  • iphone
  • java
  • javascript
  • keyboard
  • linux
  • mac
  • macbook
  • macos
  • microsoft-excel
  • mysql
  • networking
  • performance
  • php
  • python
  • security
  • shell
  • ssh
  • terminal
  • ubuntu
  • unix
  • usb
  • vim
  • virtualbox
  • windows
  • windows-7
  • windows-8
  • windows-10
  • wireless-networking

최신 글

  • 디스크 정리에 많은 시간과 CPU가 필요한 이유는 무엇입니까? 많은 시간을 소비하는 것 같습니다. 파일을
  • Vim에서 일반 모드와 삽입 모드 사이에서 커서를 어떻게 변경합니까? 모양 등)를 변경하는 방법을 알고
  • 집계 대 구성 무엇인지 이해하지만 집계가 무엇인지에 대한 명확한
  • Python 생성기 패턴에 해당하는 C ++
  • 소프트웨어 일반인의 경력 경로는 무엇입니까? [닫은] 전문에 대한 질문 이 질문에 영감을. 소프트웨어 전문가가

카테고리

  • c#
  • c++
  • git
  • html
  • 리눅스
  • 서버
  • 소프트웨어
  • 슈퍼유저
  • 안드로이드
  • 애플
  • 우분투
  • 자바
  • 자바스크립트
  • 파이썬
  • 프로그래밍
apthow.com powered by hoya
Exit mobile version