MariaDB FROM_UNIXTIME() Function
In MariaDB, FROM_UNIXTIME()
is a built-in function that converts a given unix timestamp to a datetime value.
UNIX timestamp values ββare seconds from 1970-01-01 00:00:00
.
The UNIX_TIMESTAMP()
function is the opposite of the FROM_UNIXTIME()
function.
MariaDB FROM_UNIXTIME()
Syntax
This is the syntax of the MariaDB FROM_UNIXTIME()
function:
FROM_UNIXTIME(unix_timestamp[, format])
Parameters
unix_timestamp
-
Required. Seconds from
1970-01-01 00:00:00
. format
-
Optional. Used to format date/time values. For more information on formatting accounted datetimes, see the
DATE_FORMAT()
function.
If you provide no parameters or the wrong number of parameters, MariaDB will report an error: ERROR 1582 (42000): Incorrect parameter count in the call to native function 'FROM_UNIXTIME'
.
Return value
The MariaDB FROM_UNIXTIME()
function will unix_timestamp
convert to a datetime or format it as a string representing a date/time.
If you provide format
parameter, the FROM_UNIXTIME()
function will return a string in the format
format.
If no format
parameter, the FROM_UNIXTIME()
function returns a datetime value. If the function is in a string context, the YYYY-MM-DD HH:MM:SS
format is used, otherwise the YYYYMMDDHHMMSS.uuuuuu
format is used.
If the argument is NULL
, the FROM_UNIXTIME()
function will return NULL
.
MariaDB FROM_UNIXTIME()
Examples
Basic example
To convert a UNIX timestamp 1649839394
to UTC time, use the following statement:
SELECT FROM_UNIXTIME(1679839394);
Output:
+---------------------------+
| FROM_UNIXTIME(1679839394) |
+---------------------------+
| 2023-03-26 22:03:14 |
+---------------------------+
fractional seconds
FROM_UNIXTIME()
allows you to convert a UNIX timestamp with fractional seconds to a datetime value, as follows:
SELECT FROM_UNIXTIME(1679839394.121311);
Output:
+----------------------------------+
| FROM_UNIXTIME(1679839394.121311) |
+----------------------------------+
| 2023-03-26 22:03:14.121311 |
+----------------------------------+
digital context
If format
parameter is not specified for and when used in a numeric context, it returns a number in the YYYYMMDDHHMMSS[.uuuuuu]
format:
SELECT FROM_UNIXTIME(1679839394.121311) + 0;
Output:
+--------------------------------------+
| FROM_UNIXTIME(1679839394.121311) + 0 |
+--------------------------------------+
| 20230326220314.121311 |
+--------------------------------------+
Format the result
FROM_UNIXTIME()
allows you to specify the format of the output datetime, as follows:
SELECT FROM_UNIXTIME(1679839394, '%Y%m%d %H%i%S');
Output:
+--------------------------------------------+
| FROM_UNIXTIME(1679839394, '%Y%m%d %H%i%S') |
+--------------------------------------------+
| 20230326 220314 |
+--------------------------------------------+
Current Unix timestamp
To get the timestamp of the current time, use the UNIX_TIMESTAMP()
function:
SELECT UNIX_TIMESTAMP();
Output:
+------------------+
| UNIX_TIMESTAMP() |
+------------------+
| 1673316979 |
+------------------+
Conclusion
In MariaDB, FROM_UNIXTIME()
is a built-in function that converts a given unix timestamp to a datetime value.