Bagikan melalui


BASE64_DECODE (T-SQL)

Berlaku untuk: Titik akhir analitik SQL Server 2025 (17.x) Azure SQL DatabaseAzure SQL Managed InstanceSQL di Microsoft Fabric dan Gudang dalam 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 tambahan yang valid, 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

Tidak seperti contoh B, contoh ini menggunakan RFC 4648 Table 2 (url_safe) untuk mengodekan string Base64. Namun, Anda dapat mendekodekannya 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".