Bagikan melalui


BASE64_DECODE (T-SQL)

Berlaku untuk: Titik akhir analitik azure SQL Database SQL dan Gudang di Microsoft Fabric

BASE64_DECODE mengonversi varchar yang dikodekan base64 menjadi varbinary yang sesuai.

Konvensi sintaks transact-SQL

Sintaks

BASE64_DECODE(expression)

Argumen

expression

Ekspresi jenis varchar (n | maks).

Jenis yang dikembalikan

  • Varbinary(8000).
  • Varbinary(max) jika inputnya adalah varchar(max).
  • Jika ekspresi input null, outputnya null.

Keterangan

Alfabet string yang dikodekan harus dari RFC 4648 Table 1 dan dapat mencakup padding, meskipun padding tidak diperlukan. Alfabet aman URL yang ditentukan dalam RFC 4648 Table 2 juga diterima. Fungsi ini mengabaikan karakter spasi putih: \n, , \r, \tdan .

  • Ketika input berisi karakter yang tidak terkandung dalam alfabet standar atau AMAN URL yang ditentukan oleh RFC 4648, fungsi mengembalikan kesalahan "Msg 9803, Tingkat 16, Status 20, Baris 15, Data tidak valid untuk jenis "Base64Decode"".
  • Jika data memiliki karakter yang valid, tetapi salah diformat, fungsi mengembalikan kesalahan Msg 9803, Status 21.
  • Jika input berisi lebih dari dua karakter padding atau karakter padding diikuti dengan input valid ekstra, fungsi mengembalikan kesalahan Msg 9803, Status 23.

Contoh

J. BASE64_DECODE Standar

Dalam contoh berikut, string yang dikodekan base64 didekodekan kembali ke varbinary.

SELECT BASE64_DECODE ('qQ==');

Berikut adalah hasil yang ditetapkan.

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

(1 row affected)

B. BASE64_DECODE string base64 standar

Dalam contoh berikut, string didekodekan base64. Perhatikan bahwa string berisi karakter = URL-tidak aman dan /.

SELECT BASE64_DECODE('yv7K/g==')

Berikut adalah hasil yang ditetapkan.

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

(1 row affected)

C. BASE64_DECODE string url_safe base64 varchar

Berbeda dengan contoh B, contoh string base64 ini dikodekan menggunakan RFC 4648 Table 2 (url_safe), tetapi dapat didekode dengan cara yang sama seperti contoh B.

SELECT BASE64_DECODE('yv7K_g')

Berikut adalah hasil yang ditetapkan.

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

D. BASE64_DECODE varchar berisi karakter yang tidak ada dalam alfabet base64

Contoh ini berisi karakter yang bukan karakter base64 yang valid.

SELECT BASE64_DECODE('qQ!!')

Berikut adalah hasil yang ditetapkan.

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

Langkah berikutnya