Questa pagina si riferisce al parametro
case_sensitive, che fa parte di un'Esplora.
case_sensitivepuò essere utilizzato anche nell'ambito di un modello, come descritto nella pagina della documentazione dedicata al parametrocase_sensitive(per i modelli).
case_sensitivepuò essere utilizzato anche nell'ambito di una dimensione, come descritto nella pagina della documentazione dedicata al parametrocase_sensitive(per i campi).
Utilizzo
explore: explore_name {
case_sensitive: yes
}
|
Gerarchia
case_sensitive |
Valore predefinito
yes, se il dialetto del database supporta il parametro
Accetta
Un valore booleano (yes o no)
|
Definizione
case_sensitive determina se i filtri verranno trattati come sensibili alle maiuscole in una determinata esplorazione. Sono interessati tutti i filtri correlati all'esplorazione, inclusi quelli aggiunti nell'interfaccia utente di Esplora, nell'interfaccia utente della dashboard e nel filters parametro.
Per impostazione predefinita, case_sensitivity è attivo e i filtri sono sensibili alle maiuscole. Tuttavia, alcuni dialetti non supportano questo parametro, come descritto nella sezione case_sensitive non è supportato da alcuni dialetti SQL di questa pagina.
case_sensitive funziona modificando la clausola WHERE dell'SQL generato da Looker. Quando case_sensitive è attivo, i filtri vengono espressi con = o LIKE, ad esempio:
WHERE name = 'bob'
WHERE name LIKE '%bob%'
Quando case_sensitive è disattivato, i filtri vengono espressi con ILIKE (o un'espressione equivalente), ad esempio:
WHERE name ILIKE 'bob'
Esempi
Rendi tutti i filtri sensibili alle maiuscole per l'esplorazione Product:
explore: product {
case_sensitive: yes
}
Rendi tutti i filtri non sensibili alle maiuscole per l'esplorazione Customer:
explore: customer {
case_sensitive: no
}
Sfide comuni
Il parametro case_sensitive non è supportato da alcuni dialetti SQL
Per impostazione predefinita, case_sensitivity è attivo e i filtri sono sensibili alle maiuscole. Se il dialetto SQL non supporta il parametro case_sensitive, la sensibilità alle maiuscole varia in base alla configurazione del database, che in genere non è sensibile alle maiuscole.
Affinché Looker supporti case_sensitive nel tuo progetto Looker, deve supportarlo anche il dialetto del database. La tabella seguente mostra i dialetti che supportano case_sensitive nell'ultima release di Looker:
| Dialetto | Supportata? |
|---|---|
| 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 | |
| ClickHouse 26+ | |
| 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+ | |
| Dremio 26+ with Arrow Flight SQL | |
| 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 |
Cose da sapere
Puoi creare una ricerca sensibile alle maiuscole in MySQL
È possibile creare una ricerca sensibile alle maiuscole in MySQL, anche se MySQL non supporta il parametro case_sensitive. In MySQL, alcuni tipi di dati, chiamati stringhe binarie, memorizzano il testo come una serie di numeri. La capitalizzazione del testo fa la differenza nei numeri utilizzati. Pertanto, se converti il testo in una stringa binaria, puoi eseguire ricerche sensibili alle maiuscole. Ad esempio:
dimension: will_NOT_be_case_sensitive {
sql: ${TABLE}.something ;;
}
dimension: will_be_case_sensitive {
sql: CAST(${TABLE}.something AS BINARY) ;;
}