카테고리:

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

TRY_BASE64_DECODE_STRING

디코딩 중 오류가 발생하면 NULL 값을 반환하는 BASE64_DECODE_STRING 의 특수 버전입니다.

BASE64_DECODE_STRINGTRY_BASE64_DECODE_STRINGBASE64_ENCODE 의 “상호”(또는 “역”) 함수입니다.

구문

TRY_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).

    기본값: +/

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

    기본값: =

반환

문자열입니다.

사용법 노트

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

이는 함수를 사용하는 방법을 보여주며 TRY_BASE64_DECODE_STRINGBASE64_ENCODE 의 역임을 보여줍니다.

SELECT TRY_BASE64_DECODE_STRING(BASE64_ENCODE('HELLO'));
+--------------------------------------------------+
| TRY_BASE64_DECODE_STRING(BASE64_ENCODE('HELLO')) |
|--------------------------------------------------|
| HELLO                                            |
+--------------------------------------------------+
Copy

이는 보다 현실적인 예를 보여줍니다.

테이블과 데이터를 만듭니다.

CREATE TABLE base64 (v VARCHAR, base64_string VARCHAR, garbage VARCHAR);
INSERT INTO base64 (v, base64_string, garbage) 
  SELECT 'HELLO', BASE64_ENCODE('HELLO'), '127';
Copy

TRY_BASE64_DECODE_STRING 함수를 사용하여 데이터를 쿼리합니다.

SELECT v, base64_string, TRY_BASE64_DECODE_STRING(base64_string), TRY_BASE64_DECODE_STRING(garbage) FROM base64;
+-------+---------------+-----------------------------------------+-----------------------------------+
| V     | BASE64_STRING | TRY_BASE64_DECODE_STRING(BASE64_STRING) | TRY_BASE64_DECODE_STRING(GARBAGE) |
|-------+---------------+-----------------------------------------+-----------------------------------|
| HELLO | SEVMTE8=      | HELLO                                   | NULL                              |
+-------+---------------+-----------------------------------------+-----------------------------------+
Copy