카테고리:

문자열 및 이진 함수 (압축/압축 풀기)

COMPRESS

압축 방법으로 입력 문자열 또는 이진 값을 압축합니다.

참고 항목:

DECOMPRESS_BINARY , DECOMPRESS_STRING

구문

COMPRESS(<input>, <method>)
Copy

인자

필수:

input

압축할 BINARY 또는 문자열 값(또는 식)입니다.

method

압축 메서드 및 선택적 압축 수준이 있는 문자열입니다. 지원되는 메서드는 다음과 같습니다.

  • SNAPPY.

  • ZLIB.

  • ZSTD.

  • BZ2.

압축 수준은 다음과 같이 괄호 안에 지정됩니다. zlib(1). 압축 수준은 음이 아닌 정수입니다. 0 은 기본 수준을 의미합니다(압축 수준 생략과 동일). 메서드가 압축 수준을 지원하지 않는 경우, 압축 수준은 무시됩니다.

반환

압축된 데이터가 있는 BINARY 입니다.

사용법 노트

  • 압축 메서드를 알 수 없거나 잘못된 경우, 쿼리가 실패합니다.

  • 압축 메서드 이름(예: ZLIB)은 대/소문자를 구분하지 않습니다.

  • 모든 입력이 압축 가능한 것은 아닙니다. 매우 짧거나 압축하기 어려운 입력 값의 경우, 출력 값은 입력 값과 길이가 같거나 약간 더 길 수도 있습니다.

아래 예는 SNAPPY 압축 메서드로 COMPRESS 함수를 사용하는 방법을 보여줍니다.

함수의 출력은 BINARY 이지만, SNOWSQL는 가독성을 위해 출력을 16진수 문자열로 표시합니다.

SELECT COMPRESS('Snowflake', 'SNAPPY');
+---------------------------------+
| COMPRESS('SNOWFLAKE', 'SNAPPY') |
|---------------------------------|
| 0920536E6F77666C616B65          |
+---------------------------------+
Copy