sql >> Database >  >> RDS >> MariaDB

Hoe SECOND() werkt in MariaDB

In MariaDB, SECOND() is een ingebouwde datum- en tijdfunctie die het secondengedeelte van een bepaalde tijduitdrukking retourneert.

Het accepteert één argument, namelijk de tijd waaruit je de seconden wilt halen.

De seconden worden geretourneerd als een getal in het bereik 0 tot 59 .

Syntaxis

De syntaxis gaat als volgt:

SECOND(time)

Waar time is de tijduitdrukking om de seconden uit te halen.

Voorbeeld

Hier is een voorbeeld:

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

Resultaat:

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

Hier is nog een voorbeeld dat microseconden bevat:

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

Resultaat:

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

Het resultaat is hoe dan ook hetzelfde.

Datum/tijd-waarden

Het werkt ook met datetime-waarden:

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

Resultaat:

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

Huidige datum

We kunnen NOW() doorgeven als het datetime-argument om de huidige tijd te gebruiken:

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

Resultaat:

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

Ongeldige argumenten

Wanneer een ongeldig tijdargument is doorgegeven, SECOND() retourneert null :

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

Resultaat:

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

Ontbrekend argument

SECOND() . aanroepen met het verkeerde aantal argumenten, of zonder het doorgeven van argumenten, resulteert in een fout:

SELECT SECOND();

Resultaat:

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

En nog een voorbeeld:

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

Resultaat:

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

  2. SQL Server 2016:OLTP-verbeteringen in het geheugen

  3. Een mysql-database met meerdere tenants ontwerpen

  4. Een bestand schrijven met meerdere threads