다음을 통해 공유


BASE64_DECODE(Transact-SQL)

적용 대상: Microsoft Fabric의 Azure SQL Database SQL 분석 엔드포인트 및 웨어하우스

BASE64_DECODE base64로 인코딩된 varchar를 해당 varbinary로 변환합니다.

Transact-SQL 구문 표기 규칙

구문

BASE64_DECODE(expression)

인수

expression

varchar 형식(n | max)의 식입니다.

반환 형식

  • Varbinary(8000).
  • 입력이 varchar(max) 이면 Varbinary(max)입니다.
  • 입력 식이 null이면 출력은 null입니다.

설명

인코딩된 문자열의 알파벳은 RFC 4648 표 1알파벳이어야 하며 패딩이 필요하지는 않지만 패딩을 포함할 수 있습니다. RFC 4648 표 2 내에 지정된 URL로부터 안전한 알파벳도 허용됩니다. 이 함수는 공백 문자( \n, , \r\t )를 무시합니다.

  • 입력에 RFC 4648에서 지정한 표준 또는 URL 안전 알파벳 내에 포함되지 않은 문자가 포함된 경우 함수는 "Msg 9803, Level 16, State 20, Line 15, "Base64Decode" 형식의 잘못된 데이터"라는 오류를 반환합니다.
  • 데이터에 유효한 문자가 있지만 형식이 잘못 지정되면 함수는 오류 Msg 9803, 상태 21을 반환합니다.
  • 입력에 두 개 이상의 패딩 문자 또는 패딩 문자와 유효한 추가 입력이 포함된 경우 함수는 오류 Msg 9803, 상태 23을 반환합니다.

예제

A. 표준 BASE64_DECODE

다음 예제에서는 base64로 인코딩된 문자열이 varbinary로 다시 디코딩됩니다.

SELECT BASE64_DECODE ('qQ==');

결과 집합은 다음과 같습니다.

-------------
0xA9

(1 row affected)

B. 표준 base64 문자열 BASE64_DECODE

다음 예제에서 문자열은 base64 디코딩됩니다. 문자열에는 URL 안전하지 않은 문자 =/.

SELECT BASE64_DECODE('yv7K/g==')

결과 집합은 다음과 같습니다.

------------  
0xCAFECAFE

(1 row affected)

C. varchar url_safe base64 문자열 BASE64_DECODE

예제 B와 달리 이 예제 base64 문자열은 RFC 4648 테이블 2(url_safe)를 사용하여 인코딩되었지만 예제 B와 동일한 방식으로 디코딩할 수 있습니다.

SELECT BASE64_DECODE('yv7K_g')

결과 집합은 다음과 같습니다.

------------  
0xCAFECAFE
(1 row affected)

D. BASE64_DECODE varchar는 base64 알파벳에 없는 문자를 포함합니다.

이 예제에는 유효한 base64 문자가 아닌 문자가 포함되어 있습니다.

SELECT BASE64_DECODE('qQ!!')

결과 집합은 다음과 같습니다.

Msg 9803, Level 16, State 20, Line 223
Invalid data for type "Base64Decode".

다음 단계