En esta página, se hace referencia al parámetro
case_sensitiveque forma parte de un modelo.
case_sensitivetambién se puede usar como parte de una exploración, como se describe en la página de documentacióncase_sensitive(para exploraciones).
case_sensitivetambién se puede usar como parte de un campo de dimensión o filtro, como se describe en la página de documentación decase_sensitive(para campos).
Uso
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 para un modelo determinado. Todos los filtros relacionados con el modelo se ven afectados, incluidos los que se agregaron en la IU de Explorar, la IU del panel, un campo de filtro o el parámetro filters de una métrica.
case_sensitive funciona ajustando la cláusula WHERE del código SQL que genera Looker. Cuando es case_sensitive: yes, los filtros se expresan con = o LIKE, como en los siguientes ejemplos:
WHERE name = 'bob'
WHERE name LIKE '%bob%'
Cuando es case_sensitive: no, los filtros se expresan con ILIKE (o su equivalente), como se muestra a continuación:
WHERE name ILIKE 'bob'
La mayoría de los dialectos de SQL admiten case_sensitive. Sin embargo, 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. La compatibilidad con dialectos se indica en case_sensitive no es compatible con algunos dialectos de SQL.
Ejemplos
Para que todos los filtros de un modelo distingan mayúsculas de minúsculas, haz lo siguiente:
connection: "connection_name"
include: "filename_or_pattern"
case_sensitive: yes
explore: explore_name {...}
Para que todos los filtros de un modelo no distingan mayúsculas de minúsculas, haz lo siguiente:
connection: "connection_name"
include: "filename_or_pattern"
case_sensitive: no
Desafíos habituales
case_sensitive no es compatible con algunos dialectos de SQL
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 |
DataVirtuality proporciona una capa de datos semántica que se conecta a varios dialectos de bases de datos. Si Looker admite case_sensitive para los dialectos subyacentes, también lo admite para DataVirtuality cuando se conecta a esos dialectos.case_sensitive
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 entre mayúsculas y minúsculas en MySQL sin usar 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) ;;
}