case_sensitive (Explore)

이 페이지에서는 case_sensitive 매개변수를 참조합니다. 이 매개변수는 Explore의 일부입니다.

case_sensitive는 모델의 일부로도 사용할 수 있으며, case_sensitive (모델용) 매개변수 문서 페이지에 설명되어 있습니다.

case_sensitive는 측정기준의 일부로도 사용할 수 있으며, case_sensitive (필드용) 매개변수 문서 페이지에 설명되어 있습니다.

사용

explore: explore_name {
  case_sensitive: yes
}
계층 구조
case_sensitive
기본값
데이터베이스 언어가 매개변수를 지원하는 경우 yes

허용
불리언(yes 또는 no)

정의

case_sensitive는 지정된 Explore에서 필터가 대소문자를 구분하는지 여부를 결정합니다. Explore UI, 대시보드 UI, filters 매개변수에서 추가된 필터를 비롯하여 Explore와 관련된 모든 필터가 영향을 받습니다.

기본적으로 case_sensitivity는 사용 설정되어 있으며 필터는 대소문자를 구분합니다. 하지만 일부 언어는 이 페이지의 case_sensitive가 일부 SQL 언어에서 지원되지 않음 섹션에 설명된 대로 이 매개변수를 지원하지 않습니다.

case_sensitive는 Looker에서 생성하는 SQL의 WHERE 절을 조정하여 작동합니다. case_sensitive가 사용 설정된 경우 필터는 다음과 같이 = 또는 LIKE로 표현됩니다.

WHERE name = 'bob'
WHERE name LIKE '%bob%'

case_sensitive가 사용 중지된 경우 필터는 다음과 같이 ILIKE (또는 이와 동등한)로 표현됩니다.

WHERE name ILIKE 'bob'

예시

제품 Explore의 모든 필터에서 대소문자를 구분하도록 설정합니다.

explore: product {
  case_sensitive: yes
}

고객 Explore의 모든 필터에서 대소문자를 구분하지 않도록 설정합니다.

explore: customer {
  case_sensitive: no
}

일반 과제

case_sensitive가 일부 SQL 언어에서 지원되지 않음

기본적으로 case_sensitivity는 사용 설정되어 있으며 필터는 대소문자를 구분합니다. SQL 언어가 case_sensitive 매개변수를 지원하지 않는 경우 대소문자 구분은 데이터베이스 설정에 따라 달라지며, 일반적으로 대소문자를 구분하지 않습니다.

Looker가 Looker 프로젝트에서 case_sensitive를 지원하려면 데이터베이스 언어도 이를 지원해야 합니다. 다음 표에서는 최신 Looker 출시 버전에서 case_sensitive를 지원하는 언어를 보여줍니다.

언어 지원 여부
Actian Avalanche
Amazon Athena
Amazon Aurora MySQL
Amazon Redshift
Amazon Redshift 2.1+
Amazon Redshift Serverless 2.1+
Apache Druid
Apache Druid 0.13.x - 0.17.x
Apache Druid 0.18+
Apache Hive 2.3+
Apache Hive 3.1.2+
Apache Spark 3+
ClickHouse
Cloudera Impala 3.1+
Cloudera Impala 3.1+ with Native Driver
Cloudera Impala with Native Driver
DataVirtuality
Databricks
Denodo 7
Denodo 8 & 9
Dremio
Dremio 11+
Exasol
Google BigQuery Legacy SQL
Google BigQuery Standard SQL
Google Cloud AlloyDB for PostgreSQL
Google Cloud PostgreSQL
Google Cloud SQL
Google Spanner
Greenplum
HyperSQL
IBM Netezza
MariaDB
Microsoft Azure PostgreSQL
Microsoft Azure SQL Database
Microsoft Azure Synapse Analytics
Microsoft SQL Server 2008+
Microsoft SQL Server 2012+
Microsoft SQL Server 2016
Microsoft SQL Server 2017+
MongoBI
MongoSQL
MySQL
MySQL 8.0.12+
Oracle
Oracle ADWC
PostgreSQL 9.5+
PostgreSQL pre-9.5
PrestoDB
PrestoSQL
SAP HANA
SAP HANA 2+
SingleStore
SingleStore 7+
Snowflake
Teradata
Trino
Vector
Vertica

알아 두어야 할 사항

MySQL에서 대소문자 구분 검색을 만들 수 있음

MySQL에서 case_sensitive 매개변수를 지원하지 않더라도 대소문자 구분 검색을 만들 수 있습니다. MySQL에서 바이너리 문자열이라고 하는 특정 데이터 유형은 텍스트를 일련의 숫자로 저장합니다. 텍스트의 대문자 표기는 사용되는 숫자에 영향을 미칩니다. 따라서 텍스트를 바이너리 문자열로 변환하면 대소문자를 구분하는 검색을 만들 수 있습니다. 예를 들면 다음과 같습니다.

dimension: will_NOT_be_case_sensitive {
  sql: ${TABLE}.something ;;
}

dimension: will_be_case_sensitive {
  sql: CAST(${TABLE}.something AS BINARY) ;;
}