Bagikan melalui


BASE64_DECODE (T-SQL)

Berlaku untuk:Titikakhir analitik SQL Azure SQL Database dan Gudang di database Microsoft FabricSQL di Microsoft Fabric

BASE64_DECODE mengonversi ekspresi varchar yang dikodekan base64 ke dalam ekspresi varbinary yang sesuai.

Konvensi sintaks transact-SQL

Sintaks

BASE64_DECODE ( expression )

Argumen

expression

Ekspresi jenis varchar(n) atau varchar(maks).

Jenis yang dikembalikan

  • varbinary(8000) jika inputnya adalah varchar(n).
  • varbinary(max) jika inputnya adalah varchar(max).
  • Jika ekspresi input adalah NULL, outputnya adalah NULL.

Keterangan

Alfabet string yang dikodekan harus dari RFC 4648 Table 1 dan mungkin termasuk 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 berikut:

    Msg 9803, Level 16, State 20, Line 15, Invalid data for type "Base64Decode"
    
  • Jika data memiliki karakter yang valid, tetapi salah diformat, fungsi mengembalikan kesalahan Msg 9803, State 21.

  • Jika input berisi lebih dari dua karakter padding atau karakter padding diikuti dengan input valid ekstra, fungsi mengembalikan kesalahan Msg 9803, State 23.

Contoh

J. BASE64_DECODE Standar

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

SELECT BASE64_DECODE('qQ==');

Berikut set hasilnya.

0xA9

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 set hasilnya.

0xCAFECAFE

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 set hasilnya.

0xCAFECAFE

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 set hasilnya.

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