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

Sådan fungerer SEC_TO_TIME() i MariaDB

I MariaDB, SEC_TO_TIME() er en indbygget dato- og tidsfunktion, der returnerer en tidsværdi baseret på antallet af sekunder, der er angivet som argumenter.

Syntaks

Syntaksen ser sådan ud:

SEC_TO_TIME(seconds)

Eksempel

Her er et eksempel:

SELECT SEC_TO_TIME(1);

Resultat:

+----------------+
| SEC_TO_TIME(1) |
+----------------+
| 00:00:01       |
+----------------+

Her er endnu en:

SELECT SEC_TO_TIME(18520);

Resultat:

+--------------------+
| SEC_TO_TIME(18520) |
+--------------------+
| 05:08:40           |
+--------------------+

Udenfor rækkevidde sekunder

Området for resultatet er begrænset til tidsdatatypen. En advarsel opstår, hvis argumentet svarer til en værdi uden for dette område. Intervallet for MariaDB-tidsværdier er '-838:59:59.999999' til '838:59:59.999999' .

Uanset hvad, her er et eksempel på et tidspunkt med værdier, der er i den øvre ende af deres accepterede interval:

SELECT SEC_TO_TIME(3020399);

Resultat:

+----------------------+
| SEC_TO_TIME(3020399) |
+----------------------+
| 838:59:59            |
+----------------------+

Og her er en, der går uden for rækkevidden:

SELECT SEC_TO_TIME(3020400);

Resultat:

+----------------------+
| SEC_TO_TIME(3020400) |
+----------------------+
| 838:59:59            |
+----------------------+
1 row in set, 1 warning (0.000 sec)

Her er advarslen:

SHOW WARNINGS;

Resultat:

+---------+------+----------------------------------------------+
| Level   | Code | Message                                      |
+---------+------+----------------------------------------------+
| Warning | 1292 | Truncated incorrect seconds value: '3020400' |
+---------+------+----------------------------------------------+

Mikrosekunder

Vi kan gå endnu tættere på det øvre område ved at inkludere mikrosekunder:

SELECT SEC_TO_TIME(3020399.999999);

Resultat:

+-----------------------------+
| SEC_TO_TIME(3020399.999999) |
+-----------------------------+
| 838:59:59.999999            |
+-----------------------------+

Negative argumenter

Angivelse af et negativt beløb resulterer i en negativ tidsværdi.

Eksempel:

SELECT SEC_TO_TIME(-3020399);

Resultat:

+-----------------------+
| SEC_TO_TIME(-3020399) |
+-----------------------+
| -838:59:59            |
+-----------------------+

Manglende argument

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

SELECT SEC_TO_TIME();

Resultat:

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

Og endnu et eksempel:

SELECT SEC_TO_TIME( 123, 456 );

Resultat:

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

Lav en tid

Se også MAKETIME() til at konstruere en tidsværdi ud fra dens timer, minutter og sekunder.


  1. SWITCHOFFSET() Eksempler i SQL Server

  2. SQL SELECT for at få de første N positive heltal

  3. SQL Server kumulativ sum efter gruppe

  4. Sådan bruger du parameter med LIKE i SQL Server Compact Edition