TRY_BASE64_DECODE_BINARY
TRY_BASE64_DECODE_BINARY
TRY_BASE64_DECODE_BINARY() 함수는 디코딩 중 오류가 발생하면 NULL 값을 반환하는 BASE64_DECODE_BINARY의 특별 버전이에요.
본문
문법
TRY_BASE64_DECODE_BINARY(<input> [, <alphabet>])
인자
input — 디코딩할 base64 인코딩 문자열이에요.
반환
BINARY 값을 반환해요. 예를 들어 이 값은 BINARY 타입 컬럼에 삽입할 수 있어요.
사용 메모
base64 형식에 대한 자세한 내용은 base64를 참고하세요.
예제
다음은 TRY_BASE64_DECODE_BINARY 함수 사용법을 보여줘요. 이 함수는 SELECT 문이 아니라 INSERT 문에서 base64 인코딩 문자열을 BINARY 필드로 디코딩하는 데 사용돼요.
테이블을 만들고 데이터를 삽입해요.
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 |
+------+------------------------+-------------------------+------------------------+