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 dedicata 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 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 distinzione tra maiuscole e minuscole nel 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) ;;
}