How SECOND() Works in MariaDB

In MariaDB, SECOND() is a built-in date and time function that returns the seconds portion of a given time expression.

It accepts one argument, which is the time you want to extract the seconds from.

The seconds are returned as a number in the range 0 to 59.

Syntax

The syntax goes like this:

SECOND(time)

Where time is the time expression to get the seconds from.

Example

Here’s an example:

SELECT SECOND('10:30:45');

Result:

+--------------------+
| SECOND('10:30:45') |
+--------------------+
|                 45 |
+--------------------+

Here’s another example that includes microseconds:

SELECT SECOND('10:30:45.123456');

Result:

+---------------------------+
| SECOND('10:30:45.123456') |
+---------------------------+
|                        45 |
+---------------------------+

Either way, the result is the same.

Datetime Values

It also works with datetime values:

SELECT SECOND('2030-02-01 10:30:45');

Result:

+-------------------------------+
| SECOND('2030-02-01 10:30:45') |
+-------------------------------+
|                            45 |
+-------------------------------+

Current Date

We can pass NOW() as the datetime argument to use the current time:

SELECT 
    NOW(),
    SECOND(NOW());

Result:

+---------------------+---------------+
| NOW()               | SECOND(NOW()) |
+---------------------+---------------+
| 2021-05-16 14:32:40 |            40 |
+---------------------+---------------+

Invalid Arguments

When passed an invalid time argument, SECOND() returns null:

SELECT SECOND('10:75:00');

Result:

+--------------------+
| SECOND('10:75:00') |
+--------------------+
|               NULL |
+--------------------+

Missing Argument

Calling SECOND() with the wrong number of arguments, or without passing any arguments, results in an error:

SELECT SECOND();

Result:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1

And another example:

SELECT SECOND('10:30:45', '06:30:45');

Result:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ' '06:30:45')' at line 1