次の方法で共有


BASE64_ENCODE (Transact-SQL)

適用対象: Azure SQL Database SQL 分析エンドポイントと Microsoft Fabric の Warehouse

BASE64_ENCODE は、varbinary の値を base64 でエンコードされた varchar に変換します。

Transact-SQL 構文表記規則

構文

BASE64_ENCODE (expression [, url_safe])

引数

式 (expression)

varbinary 型 (n | max) の式

url_safe

エンコード操作の出力を URL セーフにするかどうかを指定する、省略可能な整数リテラルまたは式。 0 以外の数値は true に評価されます。 既定値は 0 です。

戻り値の型

  • Varchar(8000)
  • 入力が varbinary(max) の場合は Varchar(max)
  • 入力が varchar(n) で n > 6000 の場合は Varchar(max)
  • 入力式が null の場合、出力は null になります。

解説

エンコードされた文字列アルファベットは RFC 4648 表 1 のアルファベットで、パディングを追加できます。 URL セーフ出力は RFC 4648 表 2 の base64url アルファベットを使用し、パディングを追加しません。 この関数は改行文字を追加しません。

いずれの場合も、データベースの既定の照合順序が使用されます。 Microsoft Fabric でサポートされる照合順序の詳細については、「テーブル」を参照してください。

url_safe が true の場合、生成される base64url 文字列は SQL Server の XML および JSON base64 デコーダーと互換性がありません。

A. 標準の BASE64_ENCODE

次の例では、単純な varbinary が base64 でエンコードされます。

SELECT Base64_Encode(0xA9) as "Encoded © symbol";

結果セットは次のとおりです。

------------  
qQ==
(1 row affected)

B. 文字列に BASE64_ENCODE を実行する

次の例では、文字列が base64 でエンコードされます。 まず、文字列を varbinary にキャストする必要があります。

SELECT BASE64_ENCODE (CAST ('hello world' as varbinary))

結果セットは次のとおりです。

------------  
aGVsbG8gd29ybGQ=
(1 row affected)

C: 既定と URL セーフの BASE64_ENCODE

次の例では、最初の選択では url_safe を指定しませんが、2 番目の選択では url_safe を指定 します。

SELECT BASE64_ENCODE(0xCAFECAFE)

結果セットは次のとおりです。

------------  
yv7K/g==
(1 row affected)

次の例では、出力が URL セーフであることを指定します。

SELECT BASE64_ENCODE(0xCAFECAFE, 1);

結果セットは次のとおりです。

------------  
yv7K_g
(1 row affected)

次のステップ