sqlite_compileoption_get(N): SQLite 라이브러리를 빌드할 때 사용된 N번째 컴파일 시간 옵션을 반환합니다. N이 범위를 벗어나면 NULL을 반환합니다.
sqlite_compileoption_used(X): X라는 이름의 컴파일 시간 옵션이 빌드 중에 사용되었는지 여부를 true(1) 또는 false(0)로 반환합니다.
예: SQLite가 어떤 컴파일 옵션을 사용하여 빌드되었는지 확인할 수 있습니다.
데이터 레코드 오프셋 찾기: sqlite_offset
sqlite_offset(X): 테이블이나 인덱스에서 값을 읽기 시작하는 데이터베이스 파일 내의 바이트 오프셋을 반환합니다. X가 일반 테이블의 열이 아니면 NULL을 반환합니다.
예: 특정 열의 데이터가 파일 내 어디에 위치하는지 알고 싶을 때 사용할 수 있습니다. 이 기능은 SQLite가 특정 컴파일 옵션을 사용하여 빌드될 때만 사용 가능합니다.
SQLite 소스 버전 조회: sqlite_source_id
sqlite_source_id(): SQLite 라이브러리를 빌드한 소스 코드의 특정 버전을 식별하는 문자열을 반환합니다. 이 문자열에는 소스 코드가 체크인된 날짜와 시간, 그리고 해당 체크인의 SHA3-256 해시가 포함됩니다.
예: SQLite 라이브러리의 구체적인 소스 코드 버전을 확인할 때 사용합니다.
SQLite 라이브러리 버전 조회: sqlite_version
sqlite_version(): 현재 실행 중인 SQLite 라이브러리의 버전 문자열을 반환합니다.
예: 현재 사용 중인 SQLite의 버전을 확인할 때 사용합니다.
부분 문자열 추출: substr, substring
substr(X, Y, Z): 문자열 X에서 Y번째 문자부터 시작하여 Z개의 문자로 구성된 부분 문자열을 반환합니다. Z가 생략되면 Y번째 문자부터 문자열 끝까지 반환합니다. Y가 음수이면 오른쪽에서부터 시작합니다. Z가 음수이면 Y번째 문자 앞에 있는 Z개의 문자를 반환합니다.
substring(X, Y, Z): substr의 별칭으로, SQLite 버전 3.34부터 사용 가능합니다.
예: substr('Hello, World!', 8, 5)는 'World'를 반환합니다.
변경된 행의 총 수: total_changes
total_changes() 함수는 현재 데이터베이스 연결이 시작된 이후 INSERT, UPDATE, DELETE 문에 의해 변경된 행의 총 수를 반환합니다.
예: 데이터를 많이 수정한 후 total_changes()를 호출하면, 변경된 행의 총 수를 알 수 있습니다.
문자열 양쪽 공백 제거: trim
trim(X, Y) 함수는 문자열 X 양쪽 끝에서 Y에 해당하는 모든 문자를 제거한 새 문자열을 반환합니다. Y가 생략되면 공백을 제거합니다.
예: trim(' hello ')는 'hello'를 반환합니다.
표현식의 데이터 타입 반환: typeof
typeof(X) 함수는 표현식 X의 데이터 타입을 나타내는 문자열을 반환합니다: "null", "integer", "real", "text", 또는 "blob".
예: typeof(123)는 'integer'를 반환합니다.
16진수 문자열을 BLOB으로 변환: unhex
unhex(X, Y) 함수는 16진수 문자열 X를 디코딩하여 BLOB 값을 반환합니다. X에 16진수가 아닌 문자가 포함되어 있고 그 문자가 Y에 없으면 NULL을 반환합니다. Y가 생략되면 X는 순수한 16진수 문자열이어야 합니다.
예: unhex('48656C6C6F')는 'Hello' 문자열의 BLOB 값을 반환합니다.
문자열의 첫 번째 문자에 해당하는 유니코드 코드 포인트 반환: unicode
unicode(X) 함수는 문자열 X의 첫 번째 문자에 해당하는 유니코드 코드 포인트를 숫자로 반환합니다.
예: unicode('A')는 65를 반환합니다.
거의 거짓일 것으로 예상되는 표현식: unlikely
unlikely(X) 함수는 X를 그대로 반환합니다. 이 함수는 쿼리 플래너에게 X가 거의 거짓일 것이라는 힌트를 제공합니다.
예: unlikely(id = 1)는 id = 1이 거의 거짓일 것으로 예상됩니다.
문자열을 대문자로 변환: upper
upper(X) 함수는 입력된 문자열 X의 모든 소문자 ASCII 문자를 대문자로 변환한 새 문자열을 반환합니다.
예: upper('hello')는 'HELLO'를 반환합니다.
공간 예약을 위한 BLOB 생성: zeroblob
zeroblob(N) 함수는 N 바이트 크기의 0x00으로 이루어진 BLOB을 반환합니다. 이 BLOB은 나중에 쓰기 작업을 위한 공간을 예약하는 데 사용될 수 있습니다.