次の方法で共有


BASE64_ENCODE (Transact-SQL)

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

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

Transact-SQL 構文表記規則

構文

BASE64_ENCODE (expression [ , url_safe ] )

引数

式 (expression)

varbinary(n) または varbinary(max) 型の式。

url_safe

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

戻り値の型

  • varchar(8000) は、入力が varbinary(n) 場合にn<= 6000 です。
  • 入力が varbinary(n) 場合、varchar(max) 6000 を n> します。
  • 入力が varbinary(max) 場合、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

次の例では、© シンボルの base64 でエンコードされた値を返します。

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

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

qQ==

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

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

SELECT BASE64_ENCODE(CAST ('hello world' AS VARBINARY));

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

aGVsbG8gd29ybGQ=

C: 既定と URL セーフの BASE64_ENCODE

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

SELECT BASE64_ENCODE(0xCAFECAFE);

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

yv7K/g==

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

SELECT BASE64_ENCODE(0xCAFECAFE, 1);

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

yv7K_g