BASE64_DECODE_STRING

BASE64_DECODE_STRING

Base64로 인코딩된 문자열을 문자열로 디코딩해요.

출처: Snowflake BASE64_DECODE_STRING 함수 문서

본문

참고 항목: TRY_BASE64_DECODE_STRING, BASE64_DECODE_BINARY, BASE64_ENCODE

구문 (Syntax)

BASE64_DECODE_STRING(  [ ,  ] )

인자 (Arguments)

필수:

  • input — Base64로 인코딩된 문자열 표현식이에요.

선택:

  • alphabet — 최대 세 개의 ASCII 문자로 구성된 문자열이에요:
    • 문자열의 처음 두 문자는 입력을 인코딩하는 데 사용된 알파벳의 마지막 두 문자(인덱스 62와 63)를 지정해요:

      • A~Z (인덱스 0-25)
      • a~z (인덱스 26-51)
      • 0~9 (인덱스 52-61)
      • +와 / (인덱스 62, 63)

      기본값: +와 /

    • 문자열의 세 번째 문자는 패딩에 사용되는 문자를 지정해요.

      기본값: =

반환 값 (Returns)

문자열이에요.

사용 노트 (Usage Notes)

  • alphabet 문자열의 문자는 위치에 따라 구문 분석돼요; 문자열의 두 번째 또는 세 번째 위치에 다른 문자를 지정하려면, 기본값을 사용하더라도 이전의 모든 문자를 명시적으로 지정해야 해요.

    예를 들어:

    • +$는 인덱스 62에 기본값(+), 인덱스 63에 다른 문자($)를 지정해요; 패딩에 대해 명시적으로 지정된 문자가 없으므로 기본 문자(=)가 사용돼요.
    • +/%는 인덱스 62와 63에 기본값(+와 /)을 지정하고, 패딩에 대해 다른 문자(%)를 지정해요.
  • input을 디코딩하는 데 사용되는 alphabet 문자열은 input을 인코딩하는 데 원래 사용된 문자열과 일치해야 해요.

  • base64 형식에 대한 자세한 내용은 base64 문서를 참고해요.

예제 (Examples)

BASE64_DECODE_STRING의 간단한 사용 예를 보여줘요:

SELECT BASE64_DECODE_STRING('U25vd2ZsYWtl');
+--------------------------------------+
| BASE64_DECODE_STRING('U25VD2ZSYWTL') |
|--------------------------------------|
| Snowflake                            |
+--------------------------------------+

BASE64_DECODE_STRING의 또 다른 사용 예를 보여줘요: 테이블과 데이터 생성:

CREATE OR REPLACE TABLE base64_table (v VARCHAR, base64_string VARCHAR);
INSERT INTO base64_table (v) VALUES ('HELLO');
UPDATE base64_table SET base64_string = BASE64_ENCODE(v);

이제 BASE64_DECODE_STRING을 사용해 쿼리 실행:

SELECT v, base64_string, BASE64_DECODE_STRING(base64_string) 
    FROM base64_table;
+-------+---------------+-------------------------------------+
| V     | BASE64_STRING | BASE64_DECODE_STRING(BASE64_STRING) |
|-------+---------------+-------------------------------------|
| HELLO | SEVMTE8=      | HELLO                               |
+-------+---------------+-------------------------------------+

더 알아보기