このページでは、Explore の一部である
case_sensitive
パラメータについて説明します。
case_sensitive
は、モデルの一部として使用することもできます。詳しくは、case_sensitive
(モデル用)パラメータのドキュメントをご覧ください。
case_sensitive
は、ディメンションの一部として使用することもできます。詳しくは、case_sensitive
(フィールド向け)パラメータのドキュメントをご覧ください。
使用状況
大文字と小文字を区別: はい
}
階層
case_sensitive |
デフォルト値
yes (データベース言語がパラメータをサポートしている場合)許可
ブール値(yes または no ) |
定義
case_sensitive
は、特定の Explore でフィルタが大文字と小文字を区別するかどうかを指定します。Explore UI、ダッシュボード UI、filters
パラメータに追加されたものを含む、Explore に関連するすべてのフィルタに影響します。
case_sensitivity
はデフォルトでオンになっており、フィルタでは大文字と小文字が区別されます。ただし、このページの一部のcase_sensitive
SQL ダイアレクトでサポートされていないため、一部の言語ではこのパラメータはサポートされていません。
case_sensitive
は、Looker で生成される SQL の WHERE
句を調整することで機能します。case_sensitive
がオンになっている場合、フィルタは =
または LIKE
で表現されます。次に例を示します。
WHERE name = 'bob'
WHERE name LIKE '%bob%'
case_sensitive
がオフになっている場合、フィルタは ILIKE
(または同等のもの)で表現されます。次に例を示します。
WHERE name ILIKE 'bob'
例
Product Explore では、すべてのフィルタで大文字と小文字が区別されます。
explore: product {
case_sensitive: yes
}
[Customer] Explore では、すべてのフィルタで大文字と小文字を区別しません。
explore: customer {
case_sensitive: no
}
一般的な課題
case_sensitive
は一部の SQL 言語ではサポートされていません
case_sensitivity
はデフォルトでオンになっており、フィルタでは大文字と小文字が区別されます。お使いの SQL 言語が case_sensitive
パラメータをサポートしていない場合、大文字と小文字の区別はデータベースの設定によって異なります。大文字と小文字は区別されません。
Looker プロジェクトで case_sensitive
をサポートするには、データベース言語もサポートしている必要があります。次の表に、Looker の最新リリースで 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) ;;
}