이 페이지에서는 모델의 일부인
case_sensitive
매개변수를 설명합니다.
case_sensitive
는case_sensitive
(탐색 분석용) 문서 페이지에 설명된 탐색의 일부로 사용할 수도 있습니다.
case_sensitive
는case_sensitive
(필드용) 문서 페이지에 설명된 측정기준 또는 필터 필드의 일부로 사용할 수도 있습니다.
용도
계층 구조
case_sensitive |
기본값
yes (데이터베이스 언어가 매개변수 을 지원하는 경우) 결제 가능
부울 (yes 또는 no )
|
정의
case_sensitive
은 지정된 모델에서 필터를 대소문자를 구분할지 여부를 결정합니다. 탐색 UI, 대시보드 UI, 필터 필드 또는 측정값의 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
매개변수를 지원하지 않으면 대소문자 구분은 데이터베이스 설정에 따라 달라지며 일반적으로 대소문자를 구분하지 않습니다. 언어 지원은 아래에 나와 있습니다.
Examples
모델의 모든 필터를 대소문자를 구분합니다.
connection: "connection_name"
include: "filename_or_pattern"
case_sensitive: yes
explore: explore_name {...}
모델에서 모든 필터를 대소문자를 구분하지 않습니다.
connection: "connection_name"
include: "filename_or_pattern"
case_sensitive: no
일반 과제
case_sensitive
는 일부 SQL 언어에서 지원되지 않습니다.
Looker 프로젝트에서 case_sensitive
를 지원하려면 데이터베이스 언어에서도 Looker를 지원해야 합니다. 다음 표는 최신 Looker 버전에서 case_sensitive
를 지원하는 언어를 보여줍니다.
DataVirtuality는 다양한 데이터베이스 언어에 연결되는 시맨틱 데이터 레이어를 제공합니다. Looker가 기본 방언에 case_sensitive
를 지원하는 경우 해당 방언에 연결하는 DataVirtuality에 case_sensitive
를 지원합니다.
알아두어야 할 사항
MySQL에서 대소문자 구분 검색을 만들 수 있습니다.
case_sensitive
매개변수를 사용하지 않고 MySQL에서 대소문자를 구분하는 검색을 만들 수 있습니다. MySQL에서는 바이너리 문자열이라고 하는 특정 데이터 유형이 텍스트를 일련의 숫자로 저장합니다. 텍스트에 대문자를 사용하면 사용되는 숫자에 차이가 있습니다. 따라서 텍스트를 바이너리 문자열로 변환하면 대소문자를 구분하는 검색을 할 수 있습니다. 예를 들면 다음과 같습니다.
dimension: will_NOT_be_case_sensitive {
sql: ${TABLE}.something ;;
}
dimension: will_be_case_sensitive {
sql: CAST(${TABLE}.something AS BINARY) ;;
}