本頁面是指 模型的
case_sensitive參數。
case_sensitive也可做為探索的一部分,詳情請參閱「case_sensitive(適用於探索)」說明文件頁面。
case_sensitive也可做為維度或篩選器欄位的一部分,詳情請參閱「case_sensitive(適用於欄位)」說明文件頁面。
用量
case_sensitive: yes
|
階層
case_sensitive |
預設值
yes (如果資料庫方言支援該參數)
接受
布林值 (yes 或 no)
|
定義
case_sensitive 決定是否要將特定模型的篩選器視為區分大小寫。所有與模型相關的篩選器都會受到影響,包括在「探索」使用者介面、「資訊主頁」使用者介面、篩選器欄位或指標的 filters 參數中新增的篩選器。
case_sensitive 的運作方式是調整 Looker 產生的 SQL 的 WHERE 子句。如果是 case_sensitive: yes,篩選器會以 = 或 LIKE 表示,例如:
WHERE name = 'bob'
WHERE name LIKE '%bob%'
case_sensitive: no,篩選器會以 ILIKE (或同等項目) 表示,例如:
WHERE name ILIKE 'bob'
大多數 SQL 方言都支援 case_sensitive。不過,如果 SQL 方言不支援 case_sensitive 參數,大小寫區分方式會因資料庫設定而異,通常不會區分大小寫。如需方言支援的相關資訊,請參閱case_sensitive部分 SQL 方言不支援。
範例
為模型設定所有篩選器須區分大小寫:
connection: "connection_name"
include: "filename_or_pattern"
case_sensitive: yes
explore: explore_name {...}
讓模型的所有篩選器都不區分大小寫:
connection: "connection_name"
include: "filename_or_pattern"
case_sensitive: no
常見挑戰
部分 SQL 方言不支援 case_sensitive
如要讓 Looker 支援 Looker 專案中的 case_sensitive,資料庫方言也必須支援。下表列出最新版 Looker 支援 case_sensitive 的方言:
| 方言 | 是否支援? |
|---|---|
| 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 提供語意資料層,可連結各種資料庫方言。如果 Looker 支援基礎方言的 case_sensitive,則 Looker 支援 DataVirtuality 連線至這些方言的 case_sensitive。
注意事項
您可以在 MySQL 中建立區分大小寫的搜尋
您可以在 MySQL 中建立區分大小寫的搜尋,不必使用 case_sensitive 參數。在 MySQL 中,某些資料類型 (稱為二進位字串) 會將文字儲存為一系列數字。文字大小寫會影響使用的數字。因此,如果將文字轉換為二進位字串,就能進行區分大小寫的搜尋。例如:
dimension: will_NOT_be_case_sensitive {
sql: ${TABLE}.something ;;
}
dimension: will_be_case_sensitive {
sql: CAST(${TABLE}.something AS BINARY) ;;
}