BASE64_ENCODE (T-SQL)
Berlaku untuk: Titik akhir analitik azure SQL Database SQL dan Gudang di Microsoft Fabric
BASE64_ENCODE mengonversi nilai varbinary menjadi varchar yang dikodekan base64.
Sintaks
BASE64_ENCODE (expression [, url_safe])
Argumen
expression
Ekspresi jenis varbinary (n | maks)
url_safe
Literal atau ekspresi bilangan bulat opsional, yang menentukan apakah output operasi pengodean harus aman untuk URL. Angka apa pun selain 0
mengevaluasi ke true. Nilai defaultnya adalah 0
.
Jenis yang dikembalikan
- Varchar(8000)
- Varchar(max) jika input adalah varbinary(max)
- Varchar(max) jika input adalah varchar(n) di mana n > 6000
- Jika ekspresi input adalah
null
, outputnya adalahnull
.
Keterangan
Alfabet string yang dikodekan adalah dari RFC 4648 Table 1 dan dapat menambahkan padding. Output url-safe menggunakan alfabet base64url dari RFC 4648 Table 2 dan tidak menambahkan padding. Fungsi ini tidak menambahkan karakter baris baru.
Dalam setiap kasus, kolatasi default database digunakan. Untuk informasi selengkapnya tentang kolatasi yang didukung di Microsoft Fabric, lihat Tabel.
Jika url_safe
benar, string base64url yang dihasilkan tidak kompatibel dengan dekoder XML dan JSON base64 SQL Server.
Contoh
J. BASE64_ENCODE standar
Dalam contoh berikut, varbinary sederhana dikodekan base64.
SELECT Base64_Encode(0xA9) as "Encoded © symbol";
Berikut adalah hasil yang ditetapkan.
------------
qQ==
(1 row affected)
B. BASE64_ENCODE string
Dalam contoh berikut, string dikodekan base64. String harus terlebih dahulu ditransmisikan ke varbinary.
SELECT BASE64_ENCODE (CAST ('hello world' as varbinary))
Berikut adalah hasil yang ditetapkan.
------------
aGVsbG8gd29ybGQ=
(1 row affected)
C. BASE64_ENCODE default vs url_safe
Dalam contoh berikut, pilihan pertama tidak menentukan url_safe
, namun pilihan kedua menentukan url_safe
.
SELECT BASE64_ENCODE(0xCAFECAFE)
Berikut adalah hasil yang ditetapkan.
------------
yv7K/g==
(1 row affected)
Contoh berikut menentukan bahwa output aman untuk URL.
SELECT BASE64_ENCODE(0xCAFECAFE, 1);
Berikut adalah hasil yang ditetapkan.
------------
yv7K_g
(1 row affected)