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