BASE64_ENCODE (Transact-SQL)
Se aplica a: Punto de conexión y almacenamiento de SQL Analytics de Azure SQL Database 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 esnull
.
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";
Este es el conjunto de resultados.
------------
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))
Este es el conjunto de resultados.
------------
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)
Este es el conjunto de resultados.
------------
yv7K/g==
(1 row affected)
En el ejemplo siguiente se especifica que la salida es segura para direcciones URL.
SELECT BASE64_ENCODE(0xCAFECAFE, 1);
Este es el conjunto de resultados.
------------
yv7K_g
(1 row affected)