Mysql
 sql >> Baza danych >  >> RDS >> Mysql

TIME_FORMAT() Przykłady – MySQL

W MySQL możesz użyć TIME_FORMAT() funkcja formatowania wartości czasu.

Ta funkcja działa tak samo jak DATE_FORMAT() funkcji, z tą różnicą, że wartość może być sformatowana tylko w godzinach, minutach, sekundach i mikrosekundach.

Zobacz tabelę na dole tego artykułu, aby zobaczyć listę specyfikatorów formatu, których można użyć z tą funkcją.

Składnia

Składnia wygląda tak:

TIME_FORMAT(time,format)

Gdzie time to wartość czasu, którą chcesz sformatować, a format jest ciągiem formatu (określa to, w jaki sposób wartość czasu jest faktycznie sformatowana).

Przykład 1 – Podstawowe użycie

Oto przykład do zademonstrowania.

SELECT TIME_FORMAT('14:35:27', '%r') AS 'Result';

Wynik:

+-------------+
| Result      |
+-------------+
| 02:35:27 PM |
+-------------+

W tym przykładzie użyto %r specyfikator formatu, który formatuje czas jako 12-godzinny (gg:mm:ss, a następnie AM lub PM).

Przykład 2 – Bardziej szczegółowe formatowanie

Jeśli użycie bardziej ogólnego specyfikatora formatu, jak w poprzednim przykładzie, nie jest odpowiednie, istnieją różne inne specyfikatory formatu, które mogą pomóc w stworzeniu wymaganego formatu.

Na przykład, jeśli podoba Ci się poprzedni format, ale nie chcesz, aby sekundy były zwracane, możesz to zrobić:

SELECT TIME_FORMAT('14:35:27', '%h:%i %p') AS 'Result';

Wynik:

+----------+
| Result   |
+----------+
| 02:35 PM |
+----------+

Przykład 3 – 24 godziny

Istnieją również specyfikatory formatu dla czasu 24 godzinnego. Oto najprostszy sposób na sformatowanie czasu przy użyciu czasu 24-godzinnego.

SELECT TIME_FORMAT('14:35:27', '%T') AS 'Result';

Wynik:

+----------+
| Result   |
+----------+
| 14:35:27 |
+----------+

Przykład 4 – Mikrosekundy

Oto przykład, który zawiera część ułamkową sekund w wyniku:

SELECT TIME_FORMAT('14:35:27', '%H:%i:%s.%f') AS 'Result';

Wynik:

+-----------------+
| Result          |
+-----------------+
| 14:35:27.000000 |
+-----------------+

Oczywiście możemy również uwzględnić mikrosekundy w początkowej wartości czasu:

SELECT TIME_FORMAT('14:35:27.123456', '%H:%i:%s.%f') AS 'Result';

Wynik:

+-----------------+
| Result          |
+-----------------+
| 14:35:27.123456 |
+-----------------+

Przykład 5 – Upływ czasu

Typ danych czasowych nie jest ograniczony do czasu 24 godzin. Może być również używany do reprezentowania czasu, który upłynął. Używając tej funkcji do pomiaru czasu, który upłynął, powinieneś być świadomy tego, jak specyfikatory formatu godziny działają z wartościami czasu spoza zakresu od 0 do 23.

Dokumentacja MySQL stwierdza, co następuje:

Jeśli wartość czasu zawiera część godziny, która jest większa niż 23 , %H i %k Specyfikatory formatu godzinowego generują wartość większą niż zwykły zakres 0..23 . Inne specyfikatory formatu godziny generują wartość godziny modulo 12 .

Oto przykład do zademonstrowania:

SELECT 
    TIME_FORMAT('24:00:00', '%H %k %h %I %l') AS '24',
    TIME_FORMAT('48:00:00', '%H %k %h %I %l') AS '48',
    TIME_FORMAT('100:00:00', '%H %k %h %I %l') AS '100',
    TIME_FORMAT('500:00:00', '%H %k %h %I %l') AS '500';

Wynik:

+----------------+----------------+-----------------+-----------------+
| 24             | 48             | 100             | 500             |
+----------------+----------------+-----------------+-----------------+
| 24 24 12 12 12 | 48 48 12 12 12 | 100 100 04 04 4 | 500 500 08 08 8 |
+----------------+----------------+-----------------+-----------------+

Specyfikatory formatu

Poniższe specyfikatory mogą służyć do określenia formatu zwracanego. Są to podzbiór tych dostępnych za pomocą DATE_FORMAT() funkcjonować. Wartość formatu musi zaczynać się od znaku procentu (% ).

Specyfikator Opis
%f Mikrosekundy (000000 ..999999 )
%H Godzina (00 ..23 )
%h Godzina (01 ..12 )
%I Godzina (01 ..12 )
%i Minuty, numeryczne (00 ..59 )
%k Godzina (0 ..23 )
%l Godzina (1 ..12 )
%p AM lub PM
%r Czas, 12 godzin (hh:mm:ss po którym następuje AM lub PM )
%S Sekundy (00 ..59 )
%s Sekundy (00 ..59 )
%T Czas, 24 godziny (hh:mm:ss )
%% Dosłowny % znak


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL InnoDB Cluster 8.0 — pełny opis operacji:część druga

  2. Jak stworzyć widok MySQL

  3. Jak usunąć użytkownika bazy danych MySQL w cPanel?

  4. Jaka jest różnica między utf8_general_ci a utf8_unicode_ci?

  5. MySQL z Node.js