UINT Collating Sequence

UINT Collating Sequence

UINT collating sequence는 부호 없는 정수를 포함한 텍스트를 숫자 순서로 비교하는 새 collating sequence를 구현하는, SQLite의 로드 가능 확장이에요. 이 문서는 UINT의 개요와 사용 예시를 설명해요.

출처: 문서

본문

1. 개요

UINT collating sequence는 부호 없는 정수를 포함한 텍스트를 숫자 순서로 비교하는 새 collating sequence를 구현하는, SQLite의 로드 가능 확장이에요.

UINT collating sequence는 SQLite의 표준 일부가 아니에요. 별도의 확장으로 로드되어야 해요. UINT의 소스 코드는 SQLite 소스 트리의 ext/misc/ 폴더에 있는 uint.c 소스 파일에 있어요.

UINT collating sequence는 SQLite 라이브러리의 표준 빌드에는 포함되지 않지만, CLI에서는 기본적으로 로드돼요. 이것은 표준 SQLite 라이브러리에서 사용할 수 있는 것 이상으로 다양한 확장을 로드하는 CLI의 일반적인 특징이에요.

UINT collating sequence는 텍스트의 기본 BINARY collating sequence와 거의 동일하게 작동하지만, 내장된 숫자 문자열이 숫자 순서로 비교된다는 점이 달라요.

  • 앞의 0은 적절히 처리돼요. 내장된 숫자 문자열의 크기(magnitude) 비교를 망치지 않는다는 의미예요. "x00123y"는 "x123y"와 같아요.

  • 부호 없는 정수만 인식돼요. 더하기와 빼기 부호는 무시돼요. 소수점과 지수 표기법은 무시돼요.

  • 내장된 정수는 임의의 길이일 수 있어요. 비교는 64비트 기계 정수로 표현할 수 있는 정수로 제한되지 않아요.

2. 예시

COLLATE binary COLLATE uint
'0000123457'
'123456'
'abc0000000010xyz'
'abc0010xyy'
'abc10xzz'
'abc674xyz'
'abc87xyz'
'abc9xyz'
'123456'
'0000123457'
'abc9xyz'
'abc0010xyy'
'abc0000000010xyz'
'abc10xzz'
'abc87xyz'
'abc674xyz'

더 알아보기 (Learn more)