MariaDB
 sql >> Baza danych >  >> RDS >> MariaDB

Jak SEC_TO_TIME() działa w MariaDB

W MariaDB, SEC_TO_TIME() to wbudowana funkcja daty i czasu, która zwraca wartość czasu na podstawie liczby sekund podanych jako argumenty.

Składnia

Składnia wygląda tak:

SEC_TO_TIME(seconds)

Przykład

Oto przykład:

SELECT SEC_TO_TIME(1);

Wynik:

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

Oto kolejny:

SELECT SEC_TO_TIME(18520);

Wynik:

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

Sekundy poza zakresem

Zakres wyniku jest ograniczony do zakresu danych typu czas. Ostrzeżenie pojawia się, jeśli argument odpowiada wartości spoza tego zakresu. Zakres wartości czasu MariaDB to '-838:59:59.999999' na '838:59:59.999999' .

W każdym razie, oto przykład czasu z wartościami, które znajdują się na górnym końcu ich akceptowanego zakresu:

SELECT SEC_TO_TIME(3020399);

Wynik:

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

A oto jeden, który wykracza poza zakres:

SELECT SEC_TO_TIME(3020400);

Wynik:

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

Oto ostrzeżenie:

SHOW WARNINGS;

Wynik:

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

Mikrosekundy

Możemy zbliżyć się jeszcze bardziej do górnego zakresu, uwzględniając mikrosekundy:

SELECT SEC_TO_TIME(3020399.999999);

Wynik:

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

Argumenty przeczące

Podanie ujemnej kwoty skutkuje ujemną wartością czasu.

Przykład:

SELECT SEC_TO_TIME(-3020399);

Wynik:

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

Brakujący argument

Wywołanie SEC_TO_TIME() z niewłaściwą liczbą argumentów lub bez przekazywania jakichkolwiek argumentów powoduje błąd:

SELECT SEC_TO_TIME();

Wynik:

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

I kolejny przykład:

SELECT SEC_TO_TIME( 123, 456 );

Wynik:

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

Zrób sobie czas

Zobacz także MAKETIME() do konstruowania wartości czasu na podstawie godzin, minut i sekund.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak TRIM() działa w MariaDB

  2. 6 sposobów na dodanie miesiąca do daty w MariaDB

  3. Jak FIND_IN_SET() działa w MariaDB?

  4. MariaDB CHARACTER_LENGTH() Objaśnienie

  5. Zgodność z PCI dla MySQL i MariaDB z ClusterControl