対象者:Azure SQL DatabaseSQL Analytics エンドポイントおよび Microsoft Fabric の Warehouse
SQL データベース in Microsoft Fabric
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