sql >> Databáze >  >> RDS >> MariaDB

Jak funguje SECOND() v MariaDB

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 059 .

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

  1. Laravel OrderPodle počtu vztahu

  2. Row Goals, část 4:Anti Join Anti Pattern

  3. Jak poznám, že je databáze vysoce kvalitní?

  4. Přidání posunu časového pásma k hodnotě datetime2 v SQL Server (T-SQL)