이 페이지에서는 탐색에 포함된
case_sensitive매개변수를 참조합니다.
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: product {
case_sensitive: yes
}
고객 Explore의 모든 필터가 대소문자를 구분하지 않도록 설정합니다.
explore: customer {
case_sensitive: no
}
일반 과제
일부 SQL 언어에서는 case_sensitive가 지원되지 않습니다.
기본적으로 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+ | |
| 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 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 | |
| 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에서 대소문자를 구분하는 검색을 만들 수 있습니다. MySQL에서 바이너리 문자열이라고 하는 특정 데이터 유형은 텍스트를 일련의 숫자로 저장합니다. 텍스트의 대소문자는 사용되는 숫자에 영향을 미칩니다. 따라서 텍스트를 바이너리 문자열로 변환하면 대소문자를 구분하는 검색을 할 수 있습니다. 예를 들면 다음과 같습니다.
dimension: will_NOT_be_case_sensitive {
sql: ${TABLE}.something ;;
}
dimension: will_be_case_sensitive {
sql: CAST(${TABLE}.something AS BINARY) ;;
}