sql >> Database teknologi >  >> RDS >> MariaDB

Hvordan SUBTIME() virker i MariaDB

I MariaDB, SUBTIME() er en indbygget dato- og klokkeslætsfunktion, der trækker et beløb fra et klokkeslæt eller datetime-udtryk.

Det giver dig mulighed for at ændre et klokkeslæts- eller datetime-udtryk ved at videregive det udtryk, såvel som et tidsudtryk til at trække fra det udtryk. Du kan give et negativt beløb, hvis du har brug for at tilføje til tidsudtrykket.

Syntaks

Syntaksen ser sådan ud:

SUBTIME(expr1,expr2)

Hvor expr1 er et klokkeslæt eller datetime-udtryk, og expr2 er et tidsudtryk.

Eksempel

Her er et eksempel:

SELECT SUBTIME('10:00:00', '02:30:45');

Resultat:

+---------------------------------+
| SUBTIME('10:00:00', '02:30:45') |
+---------------------------------+
| 07:29:15                        |
+---------------------------------+

Dato-tidsudtryk

Det første argument kan også være et datetime-udtryk:

SELECT SUBTIME('2021-05-01 10:00:00', '22:30:45');

Resultat:

+--------------------------------------------+
| SUBTIME('2021-05-01 10:00:00', '22:30:45') |
+--------------------------------------------+
| 2021-04-30 11:29:15                        |
+--------------------------------------------+

I dette tilfælde blev der trukket tilstrækkelig tid til at trække datoen tilbage til den foregående dag og måned.

Tidsudtryk i et løsere format

MariaDB tillader tildeling af tider i løsere formater, såsom at slippe indledende nuller og angive en værdi for dagen.

Derfor kan vi gøre dette:

SELECT SUBTIME('2021-05-01 10:00:00', '366 1:1:1.123456');

Resultat:

+----------------------------------------------------+
| SUBTIME('2021-05-01 10:00:00', '366 1:1:1.123456') |
+----------------------------------------------------+
| 2020-04-30 08:58:58.876544                         |
+----------------------------------------------------+

Negative intervaller

Angivelse af et negativt interval for dagdelen tilføjer det beløb til klokkeslættet/datoen.

Eksempel:

SELECT SUBTIME('2021-05-01 10:00:00', '-366 1:1:1.123456');

Resultat:

+-----------------------------------------------------+
| SUBTIME('2021-05-01 10:00:00', '-366 1:1:1.123456') |
+-----------------------------------------------------+
| 2022-05-02 11:01:01.123456                          |
+-----------------------------------------------------+

Nul-argumenter

Hvis et argument er null , resultatet er null :

SELECT 
    SUBTIME('10:00:00', null),
    SUBTIME(null, '02:30:45'),
    SUBTIME(null, null);

Resultat:

+---------------------------+---------------------------+---------------------+
| SUBTIME('10:00:00', null) | SUBTIME(null, '02:30:45') | SUBTIME(null, null) |
+---------------------------+---------------------------+---------------------+
| NULL                      | NULL                      | NULL                |
+---------------------------+---------------------------+---------------------+

Manglende argument

Kalder SUBTIME() med det forkerte antal argumenter, eller uden at sende nogen argumenter, resulterer det i en fejl:

SELECT SUBTIME();

Resultat:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'SUBTIME'

  1. php fil upload, hvordan man begrænser fil upload type

  2. IRI produktnomenklatur og arkitektur

  3. Sådan opretter du PL/SQL-lagrede procedurer med parametre i Oracle-databasen

  4. Typecast streng til heltal