카테고리:

문자열 및 이진 함수 (인코딩/디코딩)

BASE64_DECODE_STRING

Base64로 인코딩된 문자열을 문자열로 디코딩합니다.

참고 항목:

TRY_BASE64_DECODE_STRING

BASE64_DECODE_BINARY , BASE64_ENCODE

구문

BASE64_DECODE_STRING( <input> [ , <alphabet> ] )
Copy

인자

필수:

input

Base64로 인코딩된 문자열 식입니다.

선택 사항:

alphabet

최대 3개의 ASCII 문자로 구성된 문자열:

  • 문자열의 처음 두 문자는 입력을 인코딩하는 데 사용되는 알파벳의 마지막 두 문자(인덱스 62 및 63)를 지정합니다.

    • A ~ Z (인덱스 0-25)

    • a ~ z (인덱스 26-51)

    • 0 ~ 9 (인덱스 52-61)

    • +/ (인덱스 62, 63)

    기본값: +/

  • 문자열의 세 번째 문자는 패딩에 사용되는 문자를 지정합니다.

    기본값: =

반환

문자열입니다.

사용법 노트

  • alphabet 문자열의 문자는 위치적으로 구문 분석됩니다. 문자열의 두 번째 또는 세 번째 위치에 다른 문자를 지정하려면, 기본값을 사용하려는 경우에도 앞의 모든 문자를 명시적으로 지정해야 합니다.

    예:

    • +$ 는 인덱스 62에 대해 기본값(+)을 지정하고 인덱스 63에 대해 다른 문자($)를 지정합니다. 패딩에 대해 명시적으로 지정된 문자가 없으므로 기본 문자(=)가 사용됩니다.

    • +/% 는 인덱스 62 및 63에 대한 기본값(+/)을 지정하고 패딩에 대해 다른 문자(%)를 지정합니다.

  • alphabet 을 디코딩하는 데 사용되는 input 문자열은 input 을 인코딩하는 데 원래 사용된 문자열과 반드시 일치해야 합니다.

base64 형식에 대한 자세한 내용은 base64 를 참조하십시오.

이는 BASE64_DECODE_STRING 을 사용하는 간단한 예를 보여줍니다.

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

이는 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);
Copy

이제 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                               |
+-------+---------------+-------------------------------------+
Copy