Compartir a través de


BASE64_ENCODE (Transact-SQL)

Se aplica a:Azure SQL DatabasePunto de conexión de análisis SQL y Almacenamiento en Microsoft Fabric

BASE64_ENCODE convierte el valor de un varbinary en un varchar codificado en base64.

Convenciones de sintaxis de Transact-SQL

Sintaxis

BASE64_ENCODE (expression [, url_safe])

Argumentos

expression

Es una expresión de tipo varbinary (n | max).

url_safe

Literal o expresión de entero opcional, que especifica si la salida de la operación de codificación debe ser segura para direcciones URL. Cualquier número distinto de 0 se evalúa como true. El valor predeterminado es 0.

Tipos de valores devueltos

  • Varchar(8000)
  • Varchar(max) si la entrada es varbinary(max).
  • Varchar(max) si la entrada es varchar(n) donde n > 6000
  • Si la expresión de entrada es null, la salida es null.

Observaciones

El alfabeto de cadena codificado es el de RFC 4648, tabla 1 y se puede agregar espaciado interno. La salida segura para direcciones URL usa el alfabeto base64url de RFC 4648, tabla 2 y no agrega espaciado interno. Esta función no agrega caracteres de nueva línea.

En cada caso, se usa la intercalación predeterminada de la base de datos. Para más información sobre las intercalaciones admitidas en Microsoft Fabric, consulte Tablas.

Si url_safe es true, la cadena base64url generada no es compatible con los descodificadores XML y JSON base64 de SQL Server.

Ejemplos

A. BASE64_ENCODE estándar

En el ejemplo siguiente, solo varbinary está codificado en base64.

SELECT Base64_Encode(0xA9) as "Encoded © symbol";

El conjunto de resultados es el siguiente:

------------  
qQ==
(1 row affected)

B. BASE64_ENCODE de una cadena

En el ejemplo siguiente, una cadena está codificada en base64. La cadena debe convertirse primero en un varbinary.

SELECT BASE64_ENCODE (CAST ('hello world' as varbinary))

El conjunto de resultados es el siguiente:

------------  
aGVsbG8gd29ybGQ=
(1 row affected)

C. BASE64_ENCODE predeterminado en lugar de url_safe

En el ejemplo siguiente, la primera selección no especifica url_safe, pero la segunda selección especifica url_safe.

SELECT BASE64_ENCODE(0xCAFECAFE)

El conjunto de resultados es el siguiente:

------------  
yv7K/g==
(1 row affected)

En el ejemplo siguiente se especifica que la salida es segura para direcciones URL.

SELECT BASE64_ENCODE(0xCAFECAFE, 1);

El conjunto de resultados es el siguiente:

------------  
yv7K_g
(1 row affected)

Pasos siguientes