Compartir a través de


BASE64_DECODE (Transact-SQL)

Se aplica a: Punto de conexión y almacenamiento de SQL Analytics de Azure SQL Database en Microsoft Fabric

BASE64_DECODE convierte un varchar codificado en base64 en el varbinary correspondiente.

Convenciones de sintaxis de Transact-SQL

Sintaxis

BASE64_DECODE(expression)

Argumentos

expression

Expresión de tipo varchar (n | max).

Tipos de valores devueltos

  • Varbinary(8000).
  • Varbinary(max) si la entrada es varchar(max).
  • Si la expresión de entrada es null, la salida es null.

Observaciones

El alfabeto de la cadena codificada debe ser el de RFC 4648, tabla 1 y puede incluir espaciado interno, aunque no es obligatorio. También se acepta el alfabeto seguro para direcciones URL que se especifica en RFC 4648, tabla 2. Esta función omite los caracteres de espacio en blanco: \n, \r, \t y .

  • Cuando la entrada contiene caracteres no incluidos en los alfabetos estándar o seguros para direcciones URL especificados por RFC 4648, la función devuelve el error "Mensaje 9803, nivel 16, estado 20, línea 15, datos no válidos del tipo "Base64Decode"".
  • Si los datos tienen caracteres válidos, pero tienen un formato incorrecto, la función devuelve el error Mensaje 9803, estado 21.
  • Si la entrada contiene más de dos caracteres de espaciado interno o caracteres de este tipo seguidos de una entrada válida adicional, la función devuelve el error Msg 9803, Estado 23.

Ejemplos

A. BASE64_DECODE estándar

En el ejemplo siguiente, la cadena codificada en base64 se descodifica en varbinary.

SELECT BASE64_DECODE ('qQ==');

El conjunto de resultados es el siguiente:

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

(1 row affected)

B. BASE64_DECODE una cadena base64 estándar

En el ejemplo siguiente, la cadena está descodificada en base64. Tenga en cuenta que la cadena contiene caracteres = y /.

SELECT BASE64_DECODE('yv7K/g==')

El conjunto de resultados es el siguiente:

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

(1 row affected)

C. BASE64_DECODE varchar url_safe base64 string

A diferencia del ejemplo B, esta cadena base64 de ejemplo se codificó mediante RFC 4648, tabla 2 (url_safe), pero se puede descodificar de la misma manera que el ejemplo B.

SELECT BASE64_DECODE('yv7K_g')

El conjunto de resultados es el siguiente:

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

D. BASE64_DECODE varchar contiene caracteres que no están en el alfabeto base64

Este ejemplo contiene caracteres que no son caracteres base64 válidos.

SELECT BASE64_DECODE('qQ!!')

El conjunto de resultados es el siguiente:

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

Pasos siguientes