Esta página se refere ao parâmetro
case_sensitive
que faz parte de um Explorar.
case_sensitive
também pode ser usado como parte de um modelo, descrito na página de documentação de parâmetroscase_sensitive
(para modelos).
case_sensitive
também pode ser usado como parte de uma dimensão, descrita na página de documentação do parâmetrocase_sensitive
(para campos).
Uso
case_sensitive: yes
}
Hierarquia
case_sensitive |
Valor padrão
yes , se o dialeto do banco de dados oferecer suporte ao parâmetroAceita
Um booleano (yes ou no ) |
Definição
case_sensitive
determina se os filtros vão ser tratados com diferenciação de maiúsculas e minúsculas em uma determinada exploração. Todos os filtros relacionados ao recurso Explorar são afetados, incluindo os que foram adicionados na IU do Explorar, na IU do painel e no parâmetro filters
.
Por padrão, o case_sensitivity
está ativado, e os filtros diferenciam maiúsculas de minúsculas. No entanto, alguns dialetos não são compatíveis com esse parâmetro, conforme descrito na seção case_sensitive
não é compatível com alguns dialetos SQL nesta página.
case_sensitive
funciona ajustando a cláusula WHERE
do SQL gerado pelo Looker. Quando case_sensitive
está ativado, os filtros são expressos com =
ou LIKE
, como:
WHERE name = 'bob'
WHERE name LIKE '%bob%'
Quando case_sensitive
está desativado, os filtros são expressos com ILIKE
(ou equivalente), como:
WHERE name ILIKE 'bob'
Examples
Faça com que todos os filtros diferenciem maiúsculas de minúsculas para a seção Explorar do produto:
explore: product {
case_sensitive: yes
}
Faça com que todos os filtros não diferenciem maiúsculas de minúsculas para a exploração Cliente:
explore: customer {
case_sensitive: no
}
Desafios comuns
case_sensitive
não tem suporte em alguns dialetos SQL
Por padrão, o case_sensitivity
está ativado, e os filtros diferenciam maiúsculas de minúsculas. Se o dialeto SQL não for compatível com o parâmetro case_sensitive
, a diferenciação de maiúsculas e minúsculas varia de acordo com a configuração do banco de dados, que geralmente não diferencia maiúsculas de minúsculas.
Para que o Looker ofereça suporte a case_sensitive
no projeto do Looker, o dialeto do banco de dados também precisa ser compatível. A tabela a seguir mostra quais dialetos oferecem suporte a case_sensitive
na versão mais recente do Looker:
Informações úteis
É possível criar uma pesquisa que diferencia maiúsculas de minúsculas no MySQL
É possível criar uma pesquisa que diferencia maiúsculas de minúsculas no MySQL, mesmo que o MySQL não seja compatível com o parâmetro case_sensitive
. No MySQL, determinados tipos de dados, chamados de strings binárias, armazenam texto como uma série de números. As letras maiúsculas do texto fazem diferença nos números usados. Portanto, ao converter o texto em uma string binária, é possível fazer pesquisas com diferenciação entre maiúsculas e minúsculas. Exemplo:
dimension: will_NOT_be_case_sensitive {
sql: ${TABLE}.something ;;
}
dimension: will_be_case_sensitive {
sql: CAST(${TABLE}.something AS BINARY) ;;
}