- Kategorien:
Zeichenfolgen- und Binärfunktionen (Verschlüsseln/Entschlüsseln)
BASE64_ENCODE¶
Codiert die Eingabe (Zeichenfolge oder Binärwert) mit Base64-Codierung.
- Siehe auch:
Syntax¶
BASE64_ENCODE( <input> [ , <max_line_length> ] [ , <alphabet> ] )
Argumente¶
Benötigt:
input
Ein Zeichenfolgen- oder Binärausdruck, der codiert werden soll.
Optional:
max_line_length
Eine positive ganze Zahl, die die maximale Anzahl von Zeichen in einer einzelnen Zeile der Ausgabe angibt.
Standardwert:
0
(gibt an, dass keine Zeilenumbrüche eingefügt werden, d. h. die maximale Zeilenlänge ist unendlich)alphabet
Eine Zeichenfolge, die aus bis zu drei ASCII-Zeichen besteht:
Die ersten beiden Zeichen in der Zeichenfolge geben die letzten beiden Zeichen (Indizes 62 und 63) im Alphabet an, die zur Codierung der Eingabe verwendet werden:
A
bisZ
(Indizes 0-25)a
bisz
(Indizes 26-51)0
bis9
(Indizes 52-61)+
und/
(Indizes 62, 63)
Standardwerte:
+
und/
Das dritte Zeichen in der Zeichenfolge gibt das Zeichen an, das zum Auffüllen verwendet wird.
Standard:
=
Rückgabewerte¶
Gibt eine Zeichenfolge zurück (unabhängig davon, ob die Eingabe eine Zeichenfolge oder BINARY
war).
Nutzungshinweise¶
Die Zeichen in der Zeichenfolge
alphabet
werden positionsbezogen analysiert. Um andere Zeichen an der zweiten oder dritten Position der Zeichenfolge anzugeben, müssen Sie alle vorangehenden Zeichen explizit angeben, auch wenn Sie die Standardwerte verwenden möchten.Beispiel:
+$
gibt den Standardwert (+
) für Index 62 und ein anderes Zeichen ($
) für Index 63 an. Es wird explizit kein Zeichen zum Auffüllen angegeben, sodass das Standardzeichen (=
) verwendet wird.+/%
gibt die Standardwerte (+
und/
) für Indizes 62 und 63 an und legt ein anderes Zeichen (%
) zum Auffüllen fest.
Wenn Sie eine
alphabet
-Zeichenfolge angeben, um deninput
-Wert zu codieren, muss zum Decodieren desinput
-Wertes dieselbe Zeichenfolge verwendet werden.
Weitere Informationen zum base64-Format finden Sie unter base64.
Rückgabewerte¶
Dies gibt eine Zeichenfolge zurück, die nur die Zeichen enthält, die für die BASE64-Codierung verwendet werden.
Beispiele¶
Codieren einer Zeichenfolge mit Base64:
SELECT BASE64_ENCODE('Snowflake');
----------------------------+
BASE64_ENCODE('SNOWFLAKE') |
----------------------------+
U25vd2ZsYWtl |
----------------------------+
Codieren einer Zeichenfolge, die Nicht-ASCII-Zeichen enthält, unter Verwendung von Base64 mit „$“ anstelle von „+“ für die Codierung, und Ausgeben der Zeichenfolge mit einer maximalen Zeilenlänge von 32:
SELECT BASE64_ENCODE('Snowflake ❄❄❄ Snowman ☃☃☃',32,'$');
---------------------------------------------------+
BASE64_ENCODE('SNOWFLAKE ❄❄❄ SNOWMAN ☃☃☃',32,'$') |
---------------------------------------------------+
U25vd2ZsYWtlIOKdhOKdhOKdhCBTbm93 |
bWFuIOKYg$KYg$KYgw== |
---------------------------------------------------+
Dies zeigt ein anderes Beispiel für die Verwendung von BASE64_ENCODE
(und auch BASE64_DECODE_STRING
):
Erstellen Sie eine Tabelle und Daten:
CREATE OR REPLACE TABLE base64_table (v VARCHAR, base64_string VARCHAR); INSERT INTO base64_table (v) VALUES ('HELLO'); UPDATE base64_table SET base64_string = BASE64_ENCODE(v);Führen Sie nun eine Abfrage mit
BASE64_DECODE_STRING
aus:SELECT v, base64_string, BASE64_DECODE_STRING(base64_string) FROM base64_table; +-------+---------------+-------------------------------------+ | V | BASE64_STRING | BASE64_DECODE_STRING(BASE64_STRING) | |-------+---------------+-------------------------------------| | HELLO | SEVMTE8= | HELLO | +-------+---------------+-------------------------------------+