V MariaDB SECOND()
je vestavěná funkce data a času, která vrací sekundovou část daného časového výrazu.
Přijímá jeden argument, což je čas, ze kterého chcete extrahovat sekundy.
Sekundy jsou vráceny jako číslo v rozsahu 0
až 59
.
Syntaxe
Syntaxe vypadá takto:
SECOND(time)
Kde time
je časový výraz, ze kterého se mají získat sekundy.
Příklad
Zde je příklad:
SELECT SECOND('10:30:45');
Výsledek:
+--------------------+ | SECOND('10:30:45') | +--------------------+ | 45 | +--------------------+
Zde je další příklad, který zahrnuje mikrosekundy:
SELECT SECOND('10:30:45.123456');
Výsledek:
+---------------------------+ | SECOND('10:30:45.123456') | +---------------------------+ | 45 | +---------------------------+
V každém případě je výsledek stejný.
Hodnoty data a času
Funguje také s hodnotami datetime:
SELECT SECOND('2030-02-01 10:30:45');
Výsledek:
+-------------------------------+ | SECOND('2030-02-01 10:30:45') | +-------------------------------+ | 45 | +-------------------------------+
Aktuální datum
Můžeme předat NOW()
jako argument datetime pro použití aktuálního času:
SELECT
NOW(),
SECOND(NOW());
Výsledek:
+---------------------+---------------+ | NOW() | SECOND(NOW()) | +---------------------+---------------+ | 2021-05-16 14:32:40 | 40 | +---------------------+---------------+
Neplatné argumenty
Při předání neplatného časového argumentu SECOND()
vrátí null
:
SELECT SECOND('10:75:00');
Výsledek:
+--------------------+ | SECOND('10:75:00') | +--------------------+ | NULL | +--------------------+
Chybí argument
Volání SECOND()
s nesprávným počtem argumentů nebo bez předání jakýchkoli argumentů vede k chybě:
SELECT SECOND();
Výsledek:
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
A další příklad:
SELECT SECOND('10:30:45', '06:30:45');
Výsledek:
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