Questa pagina si riferisce al parametro
case_sensitiveche fa parte di un modello.
case_sensitivepuò essere utilizzato anche nell'ambito di un'esplorazione, come descritto nella pagina della documentazione relativa acase_sensitive(per le esplorazioni).
case_sensitivepuò essere utilizzato anche nell'ambito di un campo di dimensione o filtro, come descritto nella pagina della documentazionecase_sensitive(per i campi).
Utilizzo
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 per un determinato modello. Tutti i filtri correlati al modello sono interessati, inclusi quelli aggiunti nell'interfaccia utente di Esplora, nell'interfaccia utente della dashboard, in un campo di filtro o nel parametro filters di una misura.
case_sensitive funziona modificando la clausola WHERE dell'SQL generato da Looker. Quando case_sensitive: yes, i filtri vengono espressi con = o LIKE, ad esempio:
WHERE name = 'bob'
WHERE name LIKE '%bob%'
Quando case_sensitive: no, i filtri vengono espressi con ILIKE (o equivalente), ad esempio:
WHERE name ILIKE 'bob'
La maggior parte dei dialetti SQL supporta case_sensitive. Tuttavia, se il dialetto SQL non supporta il parametro case_sensitive, la distinzione tra maiuscole e minuscole varia a seconda della configurazione del database, che di solito non fa distinzione tra maiuscole e minuscole. Il supporto dei dialetti è elencato in case_sensitive non è supportato da alcuni dialetti SQL.
Esempi
Rendi tutti i filtri sensibili alle maiuscole per un modello:
connection: "connection_name"
include: "filename_or_pattern"
case_sensitive: yes
explore: explore_name {...}
Rendi tutti i filtri non sensibili alle maiuscole per un modello:
connection: "connection_name"
include: "filename_or_pattern"
case_sensitive: no
Sfide comuni
case_sensitive non è supportato da alcuni dialetti SQL
Affinché Looker supporti case_sensitive nel tuo progetto Looker, deve supportarlo anche il dialetto del database. La tabella seguente mostra quali dialetti 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+ | |
| 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 | |
| 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 fornisce un livello di dati semantici che si connette a vari dialetti di database. Se Looker supporta case_sensitive per i dialetti sottostanti, supporta anche case_sensitive per DataVirtuality che si connette a questi dialetti.
Cose da sapere
Puoi creare una ricerca sensibile alle maiuscole in MySQL
È possibile creare una ricerca sensibile alle maiuscole e minuscole in MySQL senza utilizzare il parametro case_sensitive. In MySQL, alcuni tipi di dati, chiamati stringhe binarie, archiviano 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) ;;
}