BASE64_ENCODE (Transact-SQL)
適用対象: Azure SQL Database SQL 分析エンドポイントと Microsoft Fabric の Warehouse
BASE64_ENCODE は、varbinary の値を base64 でエンコードされた varchar に変換します。
構文
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)