MySQL FROM_BASE64() Function
The MySQL FROM_BASE64() function decodes the given base-64 encode string and returns the result as a binary string. The result is NULL if the argument is NULL or not a valid base-64 string. This function is the reverse of the TO_BASE64() function.
Different base-64 encoding schemes exist. These are the encoding and decoding rules used by TO_BASE64() and FROM_BASE64():
- The encoding for alphabet value 62 is '+'.
- The encoding for alphabet value 63 is '/'.
- Encoding output is made up of groups of four printable characters, with each three bytes of data encoded using four characters. If the final group is not complete, it is padded with '=' characters to make up a length of four.
- To divide long output, a newline is added after every 76 characters.
- Decoding recognizes and ignores newline, carriage return, tab, and space.
Syntax
FROM_BASE64(string)
Parameters
string |
Required. Specify the base-64 encoded string. |
Return Value
Returns the decoded string as a binary string. Returns NULL if the argument is NULL or not a valid base-64 string.
Example 1:
The example below shows the usage of FROM_BASE64() function.
mysql> SELECT TO_BASE64('Hello'); Result: 'SGVsbG8=' mysql> SELECT FROM_BASE64(TO_BASE64('Hello')); Result: 'Hello' mysql> SELECT FROM_BASE64('SGVsbG8='); Result: 'Hello'
Example 2:
Consider a database table called Sample with the following records:
Data | EncodedName |
---|---|
Data 1 | Sm9obg== |
Data 2 | TWFycnk= |
Data 3 | Sm8= |
Data 4 | S2lt |
Data 5 | UmFtZXNo |
The statement given below can be used to decode the records of column EncodedName. This column contains base-64 encoded records.
SELECT *, FROM_BASE64(EncodedName) AS FROM_BASE64_Value FROM Sample;
This will produce the result as shown below:
Data | EncodedName | FROM_BASE64_Value |
---|---|---|
Data 1 | Sm9obg== | John |
Data 2 | TWFycnk= | Marry |
Data 3 | Sm8= | Jo |
Data 4 | S2lt | Kim |
Data 5 | UmFtZXNo | Ramesh |
❮ MySQL Functions