비교 함수
비교 규칙
아래 비교 FUNCTION들은 UInt8 타입의 0 또는 1을 반환합니다. 동일한 그룹 내의 값들만
비교할 수 있습니다(예: UInt16과 UInt64). 서로 다른 그룹의 값들(예: UInt16과 DateTime)은 비교할 수 없습니다.
숫자와 문자열 간의 비교, 문자열과 날짜 간의 비교, 날짜와 시간 간의 비교가 가능합니다.
튜플과 배열의 경우, 비교는 사전식(lexicographic)으로 이루어지며, 왼쪽과 오른쪽 튜플/배열의 각 대응하는 요소를
순서대로 비교합니다.
비교 가능한 타입은 다음과 같습니다.
- 숫자와 데시멀(decimal)
- 문자열과 고정 길이 문자열
- 날짜
- 날짜와 시간
- 튜플(사전식 비교)
- 배열(사전식 비교)
문자열은 바이트 단위로 비교합니다. 문자열 중 하나에 UTF-8로 인코딩된 멀티바이트 문자가 포함된 경우 예기치 않은 결과가 발생할 수 있습니다. 문자열 S2를 접두사로 가지는 문자열 S1은 S2보다 더 긴 문자열로 간주됩니다.
equals
도입: v1.1
두 값을 비교하여 같은지 평가합니다.
구문
인수
반환 값
a가 b와 같으면 1, 그렇지 않으면 0을 반환합니다. UInt8
예제
사용 예제
greater
도입된 버전: v1.1
두 값을 비교하여 앞의 값이 뒤의 값보다 큰지 판별합니다.
구문
인수
반환 값
a가 b보다 크면 1, 그렇지 않으면 0을 반환합니다. 반환 형식은 UInt8입니다.
예제
사용 예제
greaterOrEquals
도입: v1.1
두 값이 크거나 같은지 비교합니다.
구문
인수
반환 값
a가 b보다 크거나 같으면 1을, 그렇지 않으면 0을 반환합니다. 반환 타입은 UInt8입니다.
예시
사용 예시
isDistinctFrom
도입 버전: v25.11
두 값 간 NULL-안전(null-safe) 「같지 않음(not equals)」 비교를 수행합니다.
한 값은 NULL이고 다른 값은 NULL이 아닌 경우를 포함하여, 두 값이 서로 다를(distinct, 같지 않을) 때 true를 반환합니다.
두 값이 같거나 둘 다 NULL이면 false를 반환합니다.
구문
인수
x— 비교할 첫 번째 값입니다. 어떤 ClickHouse 데이터 타입이든 될 수 있습니다.Anyy— 비교할 두 번째 값입니다. 어떤 ClickHouse 데이터 타입이든 될 수 있습니다.Any
반환 값
두 값이 서로 다른 경우 true를 반환하며, NULL을 서로 비교 가능한 값으로 취급합니다:
- x != y이면
true를 반환합니다.- x 또는 y 중 정확히 하나만 NULL이면
true를 반환합니다. - x = y이거나 x와 y가 모두 NULL이면
false를 반환합니다.Bool
- x 또는 y 중 정확히 하나만 NULL이면
예시
숫자와 NULL을 사용하는 기본 예제
isNotDistinctFrom
도입된 버전: v25.10
두 값에 대해 NULL에 안전한 「equals」 비교를 수행합니다.
두 값이 동일하면, 둘 다 NULL인 경우를 포함하여 true를 반환합니다.
두 값이 서로 다르거나 둘 중 하나만 NULL이면 false를 반환합니다.
구문
인수(Arguments)
x— 비교할 첫 번째 값입니다. 어떤 ClickHouse 데이터 타입이든 사용할 수 있습니다.Anyy— 비교할 두 번째 값입니다. 어떤 ClickHouse 데이터 타입이든 사용할 수 있습니다.Any
반환 값(Returned value)
NULL 값을 비교 가능한 값으로 취급하여 두 값이 같으면 true를 반환합니다.
- x = y이면
true를 반환합니다.- x와 y가 모두 NULL이면
true를 반환합니다. - x != y이거나 x와 y 중 정확히 하나만 NULL이면
false를 반환합니다.Bool
- x와 y가 모두 NULL이면
예시(Examples)
숫자와 NULL에 대한 기본 사용 예
less
도입: v1.1
두 값을 비교하여 앞의 값이 뒤의 값보다 작은지(미만 관계인지) 여부를 판단합니다.
구문
인수
반환 값
a가 b보다 작으면 1, 그렇지 않으면 0을 반환합니다. 반환 값의 타입은 UInt8입니다.
예시
사용 예시
lessOrEquals
도입된 버전: v1.1
두 값이 작거나 같은지 비교합니다.
구문
인수
반환 값
a가 b보다 작거나 같으면 1, 그렇지 않으면 0을 반환합니다. UInt8
예제
사용 예제
notEquals
도입: v1.1
두 값이 서로 다른지 비교합니다.
구문
인수
반환 값
a가 b와 같지 않으면 1을, 그렇지 않으면 0을 반환합니다. 반환 타입은 UInt8입니다.
예제
사용 예제