- 카테고리:
문자열 및 이진 함수 (인코딩/디코딩)
TRY_BASE64_DECODE_BINARY¶
디코딩 중 오류가 발생하면 NULL 값을 반환하는 BASE64_DECODE_BINARY 의 특수 버전입니다.
구문¶
TRY_BASE64_DECODE_BINARY(<input> [, <alphabet>])
인자¶
input
BINARY 데이터 타입으로 변환할, base64로 인코딩된 문자열입니다.
alphabet
최대 3개의 ASCII 문자로 구성된 문자열:
문자열의 처음 두 문자는 입력을 인코딩하는 데 사용되는 알파벳의 마지막 두 문자(인덱스 62 및 63)를 지정합니다.
A
-Z
(인덱스 0-25).a
-z
(인덱스 26-51).0
-9
(인덱스 52-61).+
및/
(인덱스 62, 63).
기본값:
+
및/
문자열의 세 번째 문자는 패딩에 사용되는 문자를 지정합니다.
기본값:
=
반환¶
이는 BINARY
값을 반환합니다. 예를 들어, 값은 BINARY
형식의 열에 삽입될 수 있습니다.
사용법 노트¶
base64 형식에 대한 자세한 내용은 base64 를 참조하십시오.
예¶
이는 함수 TRY_BASE64_DECODE_BINARY
를 사용하는 방법을 보여줍니다. 이 함수는 base64로 인코딩된 문자열을 BINARY 필드 로 디코딩하기 위해 INSERT
문에서 사용됩니다. 함수는 SELECT
에서 사용되지 않습니다.
테이블을 만들고 데이터를 삽입합니다.
CREATE TABLE base64 (v VARCHAR, base64_encoded_varchar VARCHAR, b BINARY); INSERT INTO base64 (v, base64_encoded_varchar, b) SELECT 'HELP', BASE64_ENCODE('HELP'), TRY_BASE64_DECODE_BINARY(BASE64_ENCODE('HELP'));이제 쿼리를 실행하여 데이터를 그대로 검색할 수 있음을 보여줍니다.
SELECT v, base64_encoded_varchar, -- Convert binary -> base64-encoded-string TO_VARCHAR(b, 'BASE64'), -- Convert binary back to original value TO_VARCHAR(b, 'UTF-8') FROM base64; +------+------------------------+-------------------------+------------------------+ | V | BASE64_ENCODED_VARCHAR | TO_VARCHAR(B, 'BASE64') | TO_VARCHAR(B, 'UTF-8') | |------+------------------------+-------------------------+------------------------| | HELP | SEVMUA== | SEVMUA== | HELP | +------+------------------------+-------------------------+------------------------+