BASE64_DECODE(Transact-SQL)
적용 대상: Microsoft Fabric의 Azure SQL Database SQL 분석 엔드포인트 및 웨어하우스
BASE64_DECODE base64로 인코딩된 varchar를 해당 varbinary로 변환합니다.
구문
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".