sql >> Database >  >> RDS >> MariaDB

4 functies die de minuten van een tijdwaarde in MariaDB retourneren

Hieronder staan ​​4 functies waarmee u het minutengedeelte van een tijdwaarde in MariaDB kunt retourneren.

De MINUTE() Functie

De MINUTE() functie retourneert het minutengedeelte van een gegeven TIME of DATETIME uitdrukking. Het accepteert één argument, namelijk de tijd waar je de minuten uit wilt halen.

Voorbeeld:

SELECT MINUTE('03:45:30');

Resultaat:

+--------------------+
| MINUTE('03:45:30') |
+--------------------+
|                 45 |
+--------------------+

TIME waarden kunnen in het bereik liggen '-838:59:59.999999' naar '838:59:59.999999' . Dus, hoewel het urengedeelte veel hoger kan zijn dan 23 , het minutengedeelte kan alleen in het bereik 0 liggen tot 59 .

TIME waarden kunnen ook negatief zijn. In dergelijke gevallen, MINUTE() geeft een positieve waarde terug.

Hier is een negatieve tijdwaarde met een groter uurdeel:

SELECT MINUTE('-838:59:59');

Resultaat:

+----------------------+
| MINUTE('-838:59:59') |
+----------------------+
|                   59 |
+----------------------+

Het minutengedeelte wordt zoals verwacht geëxtraheerd.

De EXTRACT() Functie

De EXTRACT() Met deze functie kunt u een gespecificeerde eenheid extraheren uit de datum/tijd-waarde. Daarom kunt u het gebruiken om de minuten (evenals andere eenheden) uit de tijdwaarde te extraheren.

Voorbeeld:

SELECT EXTRACT(MINUTE FROM '10:47:01');

Resultaat:

+---------------------------------+
| EXTRACT(MINUTE FROM '10:47:01') |
+---------------------------------+
|                              47 |
+---------------------------------+

De TIME_FORMAT() Functie

De TIME_FORMAT() Met deze functie kunt u een tijdwaarde opmaken op basis van een opmaakreeks. De format string geeft aan hoe de tijd moet worden geformatteerd.

U kunt deze functie daarom gebruiken om de minuten (evenals uren en seconden) van de tijd terug te geven.

De %i . gebruiken formaatspecificatie retourneert de minuten met twee cijfers:

SELECT TIME_FORMAT('10:07:30', '%i');

Resultaat:

+-------------------------------+
| TIME_FORMAT('10:07:30', '%i') |
+-------------------------------+
| 07                            |
+-------------------------------+

De TIME_FORMAT() functie accepteert een subset van de format strings die gebruikt kunnen worden met de DATE_FORMAT() functie. Zie MariaDB Format Strings voor een volledige lijst van format strings/specificaties die kunnen worden gebruikt met DATE_FORMAT() . De TIME_FORMAT() functie accepteert alleen formaatspecificaties voor uren, minuten en seconden. Elke andere indelingsspecificatie resulteert in null of 0 wordt geretourneerd.

De DATE_FORMAT() Functie

De DATE_FORMAT() Met deze functie kunt u een datum- of datetime-waarde opmaken op basis van een notatiereeks. De format string geeft aan hoe de datum/tijd moet worden opgemaakt.

We kunnen daarom dezelfde formaatspecificaties gebruiken die we gebruikten met de TIME_FORMAT() functie in het vorige voorbeeld. Echter, DATE_FORMAT() accepteert geen TIME waarde, dus we moeten een DATETIME . doorgeven waarde.

SELECT DATE_FORMAT('2023-01-01 10:07:30', '%i');

Resultaat:

+------------------------------------------+
| DATE_FORMAT('2023-01-01 10:07:30', '%i') |
+------------------------------------------+
| 07                                       |
+------------------------------------------+

Slechts een TIME doorgeven waarde werkt niet met deze functie:

SELECT DATE_FORMAT('10:07:30', '%i') AS '%i';

Resultaat:

+------+
| %i   |
+------+
| 00   |
+------+

  1. SQL Inner join op geselecteerde instructies

  2. Hoe weet ik wanneer een MySQL-tabel voor het laatst is bijgewerkt?

  3. Haal het Oracle-tabeltype op uit de opgeslagen procedure met behulp van JDBC

  4. Verander van SQLite naar PostgreSQL in een nieuw Rails-project