sourcetip

ASCII가 아닌 UTF-8 문자가 포함된 행을 찾기 위해 테이블을 쿼리할 수 있습니까?

fileupload 2023. 6. 7. 23:04
반응형

ASCII가 아닌 UTF-8 문자가 포함된 행을 찾기 위해 테이블을 쿼리할 수 있습니까?

저는 일부 항목이 그리스어, 키릴 문자 또는 아랍어 문자와 같은 "외국" 문자로 부분적으로 작성된 테이블을 가지고 있습니다.이러한 문자가 포함된 행만 반환하는 SELECT 쿼리를 만들 수 있습니까?

이것은 샘플 표입니다.

Table: "names"
+----+---------------+
| id | name          |
+----+---------------+
| 1  | John          |
| 2  | Jane          |
| 3  | Сергей        | <- Sergey in Cyrrilic
| 4  | Δημήτρης      | <- Dimitris in Hreek
| 5  | Adam (אדם)    | <- Adam in both European and Hebrew
| 6  | etc...        |
+----+---------------+

표는 UTF-8과 대조됩니다(제 질문과 관련된 경우).

저는 "외국" 알파벳의 문자가 포함된 행을 반환하는 SELECT-스테이트먼트를 작성하는 방법(또는 가능하더라도)을 전혀 모릅니다.그래서, 그것이 가능할까요? 어떻게?

MySQL/MariaDB를 사용하고 있습니다.

다음 쿼리,

SELECT * FROM names WHERE name NOT REGEXP '[A-Za-z0-9]';

에서는 외래 문자가 포함된 행을 표시하는 것과 동일한 비 ASCII 문자를 모두 반환합니다.

쿼리는 다음과 같이 작성할 수 있습니다.

SELECT * FROM names WHERE name REGEXP '[^a-zA-Z ]';

이 쿼리는 목록에 정의되지 않은 위치에 문자가 있는 모든 이름의 목록을 반환합니다.

regexp 함수에 대한 자세한 내용은 다음 링크를 참조하십시오. https://dev.mysql.com/doc/refman/8.0/en/regexp.html

언급URL : https://stackoverflow.com/questions/67759896/is-it-possible-to-query-a-table-to-find-rows-that-contain-non-ascii-utf-8-letter

반응형