집 >데이터 베이스 >MySQL 튜토리얼 >PostgreSQL에서 악센트를 구분하지 않는 문자열 비교를 어떻게 수행할 수 있습니까?
PostgreSQL 자체는 Microsoft SQL Server처럼 "악센트 무시" 대조를 기본적으로 지원하지 않습니다. 그러나 두 가지 대안을 사용할 수 있습니다.
Postgres 커뮤니티는 문자열에서 악센트를 제거하는 기능을 제공하는 unaccent 모듈을 만들었습니다. 이는 사용자 정의 "악센트 무시" 데이터 정렬을 만드는 데 사용할 수 있습니다.
<code class="language-sql">CREATE EXTENSION unaccent; CREATE COLLATION ignore_accent (locale='en_US', provider='unaccent');</code>
PostgreSQL 12에서는 대소문자와 악센트를 구분하지 않는 조합과 정렬이 가능한 ICU 데이터 정렬 지원이 도입되었습니다. 그러나 ICU 데이터 정렬은 성능 저하가 있으며 패턴 일치와 같은 특정 작업에는 사용할 수 없습니다.
<code class="language-sql">CREATE COLLATION ignore_accent (provider = icu, locale = 'und-u-ks-level1-kc-true', deterministic = false);</code>
일반적인 사용의 경우 unaccent 모듈이 더 효율적이며 "악센트 무시" 쿼리를 생성하는 데 권장됩니다. 함수 인라인 및 표현식 인덱싱이 가능합니다.
위 내용은 PostgreSQL에서 악센트를 구분하지 않는 문자열 비교를 어떻게 수행할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!