Auf dieser Seite wird auf den Parameter
case_sensitiveverwiesen, der Teil eines Modells ist.
case_sensitivekann auch als Teil eines Explores verwendet werden. Dies wird auf der Dokumentationsseitecase_sensitive(für Explores) beschrieben.
case_sensitivekann auch als Teil eines Dimensions- oder Filterfelds verwendet werden. Das wird auf der Dokumentationsseitecase_sensitive(für Felder) beschrieben.
Nutzung
case_sensitive: yes
|
Hierarchie
case_sensitive |
Standardwert
yes, wenn der Datenbankdialekt den Parameter unterstützt
Akzeptiert
Ein boolescher Wert (yes oder no)
|
Definition
Mit case_sensitive wird festgelegt, ob bei Filtern für ein bestimmtes Modell zwischen Groß- und Kleinschreibung unterschieden werden soll. Alle Filter, die mit dem Modell verknüpft sind, sind betroffen. Das gilt auch für Filter, die in der Explore-Benutzeroberfläche, der Dashboard-Benutzeroberfläche, einem Filterfeld oder dem Parameter filters eines Messwerts hinzugefügt wurden.
case_sensitive funktioniert, indem die WHERE-Klausel des von Looker generierten SQL-Codes angepasst wird. Wenn case_sensitive: yes, werden Filter mit = oder LIKE ausgedrückt, z. B.:
WHERE name = 'bob'
WHERE name LIKE '%bob%'
Bei case_sensitive: no werden Filter mit ILIKE (oder einer entsprechenden Funktion) ausgedrückt, z. B.:
WHERE name ILIKE 'bob'
Die meisten SQL-Dialekte unterstützen case_sensitive. Wenn Ihr SQL-Dialekt den Parameter case_sensitive jedoch nicht unterstützt, hängt die Groß-/Kleinschreibung von Ihrer Datenbankkonfiguration ab. In der Regel wird hier nicht zwischen Groß- und Kleinschreibung unterschieden. Die Unterstützung von Dialekten ist unter case_sensitive wird von einigen SQL-Dialekten nicht unterstützt aufgeführt.
Beispiele
Alle Filter für ein Modell so einstellen, dass zwischen Groß- und Kleinschreibung unterschieden wird:
connection: "connection_name"
include: "filename_or_pattern"
case_sensitive: yes
explore: explore_name {...}
Alle Filter für ein Modell so einstellen, dass die Groß-/Kleinschreibung nicht berücksichtigt wird:
connection: "connection_name"
include: "filename_or_pattern"
case_sensitive: no
Häufige Herausforderungen
case_sensitive wird von einigen SQL-Dialekten nicht unterstützt
Damit Looker case_sensitive in Ihrem Looker-Projekt unterstützen kann, muss es auch von Ihrem Datenbankdialekt unterstützt werden. In der folgenden Tabelle ist zu sehen, welche Dialekte case_sensitive in der aktuellen Version von Looker unterstützen:
| Dialekt | Unterstützt? |
|---|---|
| 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 bietet eine semantische Datenschicht, die eine Verbindung zu verschiedenen Datenbankdialekten herstellt. Wenn Looker case_sensitive für die zugrunde liegenden Dialekte unterstützt, unterstützt Looker case_sensitive auch für DataVirtuality, wenn eine Verbindung zu diesen Dialekten hergestellt wird.
Wichtige Punkte
Sie können eine Suche mit Berücksichtigung der Groß-/Kleinschreibung in MySQL erstellen.
Es ist möglich, in MySQL eine Suche durchzuführen, bei der die Groß- und Kleinschreibung beachtet wird, ohne den Parameter case_sensitive zu verwenden. In MySQL wird Text in bestimmten Datentypen, sogenannten binären Strings, als Reihe von Zahlen gespeichert. Die Groß- und Kleinschreibung des Texts wirkt sich auf die verwendeten Zahlen aus. Wenn Sie Ihren Text in einen Binärstring umwandeln, können Sie daher Suchanfragen stellen, bei denen die Groß- und Kleinschreibung beachtet wird. Beispiel:
dimension: will_NOT_be_case_sensitive {
sql: ${TABLE}.something ;;
}
dimension: will_be_case_sensitive {
sql: CAST(${TABLE}.something AS BINARY) ;;
}