En esta página, se hace referencia al parámetro
case_sensitiveque forma parte de una Exploración.
case_sensitivetambién se puede usar como parte de un modelo, como se describe en la página de documentación del parámetrocase_sensitive(para modelos).
case_sensitivetambién se puede usar como parte de una dimensión, como se describe en la página de documentación del parámetrocase_sensitive(para campos).
Uso
explore: explore_name {
case_sensitive: yes
}
|
Jerarquía
case_sensitive |
Valor predeterminado
yes, si el dialecto de la base de datos admite el parámetro
Acepta
Un valor booleano (yes o no)
|
Definición
case_sensitive determina si los filtros se tratarán como sensibles a mayúsculas y minúsculas en una exploración determinada. Todos los filtros relacionados con la función Explorar se ven afectados, incluidos los que se agregaron en la IU de Explorar, la IU del panel y el parámetro filters.
De forma predeterminada, case_sensitivity está activado y los filtros distinguen mayúsculas de minúsculas. Sin embargo, algunos dialectos no admiten este parámetro, como se describe en la sección case_sensitive no es compatible con algunos dialectos de SQL de esta página.
case_sensitive funciona ajustando la cláusula WHERE del código SQL que genera Looker. Cuando case_sensitive está activado, los filtros se expresan con = o LIKE, como en los siguientes ejemplos:
WHERE name = 'bob'
WHERE name LIKE '%bob%'
Cuando case_sensitive está desactivado, los filtros se expresan con ILIKE (o su equivalente), como se muestra a continuación:
WHERE name ILIKE 'bob'
Ejemplos
Haz que todos los filtros distingan mayúsculas de minúsculas para el Explorador de Producto:
explore: product {
case_sensitive: yes
}
Haz que todos los filtros no distingan mayúsculas de minúsculas para la exploración Cliente:
explore: customer {
case_sensitive: no
}
Desafíos habituales
case_sensitive no es compatible con algunos dialectos de SQL
De forma predeterminada, case_sensitivity está activado y los filtros distinguen mayúsculas de minúsculas. Si tu dialecto de SQL no admite el parámetro case_sensitive, la distinción entre mayúsculas y minúsculas variará según la configuración de tu base de datos, que generalmente no distinguirá entre mayúsculas y minúsculas.
Para que Looker admita case_sensitive en tu proyecto de Looker, tu dialecto de base de datos también debe admitirlo. En la siguiente tabla, se muestran los dialectos que admiten case_sensitive en la versión más reciente de Looker:
| Dialecto | ¿Es compatible? |
|---|---|
| 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 |
Información importante
Puedes crear una búsqueda que distinga mayúsculas de minúsculas en MySQL
Es posible crear una búsqueda que distinga mayúsculas de minúsculas en MySQL, aunque MySQL no admite el parámetro case_sensitive. En MySQL, ciertos tipos de datos, llamados cadenas binarias, almacenan texto como una serie de números. El uso de mayúsculas y minúsculas en el texto influye en los números que se utilizan. Por lo tanto, si conviertes tu texto en una cadena binaria, puedes realizar búsquedas que distinguen entre mayúsculas y minúsculas. Por ejemplo:
dimension: will_NOT_be_case_sensitive {
sql: ${TABLE}.something ;;
}
dimension: will_be_case_sensitive {
sql: CAST(${TABLE}.something AS BINARY) ;;
}