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

Przykłady GET_FORMAT() – MySQL

W MySQL możesz użyć GET_FORMAT() funkcja zwracająca ciąg formatu dla podanych argumentów. Może to być przydatne, gdy musisz podać ciąg formatu do innej funkcji, takiej jak DATE_FORMAT() lub STR_TO_DATE() .

Składnia

Oficjalna składnia wygląda następująco:

GET_FORMAT({DATE|TIME|DATETIME}, {'EUR'|'USA'|'JIS'|'ISO'|'INTERNAL'})

Przykład 1 – Podstawowe użycie

Oto przykład pokazujący, jak to działa.

SELECT GET_FORMAT(DATE,'USA');

Wynik:

+------------------------+
| GET_FORMAT(DATE,'USA') |
+------------------------+
| %m.%d.%Y               |
+------------------------+

Więc ten przykład zwraca ciąg formatu dla USA. Możemy teraz wziąć ten ciąg formatujący i używać go w różnych funkcjach formatowania daty.

Tak:

SELECT DATE_FORMAT('2020-03-07', '%m.%d.%Y') AS 'Formatted';

Wynik:

+------------+
| Formatted  |
+------------+
| 03.07.2020 |
+------------+

Możemy jednak również przekazać tę funkcję bezpośrednio do DATE_FORMAT() funkcjonować. Tak:

SELECT DATE_FORMAT('2020-03-07', GET_FORMAT(DATE,'USA')) AS 'Formatted';

Wynik:

+------------+
| Formatted  |
+------------+
| 03.07.2020 |
+------------+

Dzięki temu nie musimy pamiętać, jakiego ciągu formatu użyć — GET_FORMAT() robi to dla nas.

Przykład 2 – Wartości dat

W tym przykładzie wymieniono wszystkie odmiany drugiego argumentu, gdy pierwszym argumentem jest DATE .

SELECT 
    GET_FORMAT(DATE,'USA') AS 'USA',
    GET_FORMAT(DATE,'JIS') AS 'JIS',
    GET_FORMAT(DATE,'ISO') AS 'ISO',
    GET_FORMAT(DATE,'EUR') AS 'EUR',
    GET_FORMAT(DATE,'INTERNAL') AS 'INTERNAL';

Wynik:

+----------+----------+----------+----------+----------+
| USA      | JIS      | ISO      | EUR      | INTERNAL |
+----------+----------+----------+----------+----------+
| %m.%d.%Y | %Y-%m-%d | %Y-%m-%d | %d.%m.%Y | %Y%m%d   |
+----------+----------+----------+----------+----------+

Przykład 3 – Wartości daty i godziny

W tym przykładzie wymieniono wszystkie odmiany drugiego argumentu, gdy pierwszym argumentem jest DATETIME .

SELECT 
    GET_FORMAT(DATETIME,'USA') AS 'USA',
    GET_FORMAT(DATETIME,'JIS') AS 'JIS',
    GET_FORMAT(DATETIME,'ISO') AS 'ISO',
    GET_FORMAT(DATETIME,'EUR') AS 'EUR',
    GET_FORMAT(DATETIME,'INTERNAL') AS 'INTERNAL';

Wynik:

+-------------------+-------------------+-------------------+-------------------+--------------+
| USA               | JIS               | ISO               | EUR               | INTERNAL     |
+-------------------+-------------------+-------------------+-------------------+--------------+
| %Y-%m-%d %H.%i.%s | %Y-%m-%d %H:%i:%s | %Y-%m-%d %H:%i:%s | %Y-%m-%d %H.%i.%s | %Y%m%d%H%i%s |
+-------------------+-------------------+-------------------+-------------------+--------------+

Przykład 4 – Wartości czasu

W tym przykładzie wymieniono wszystkie odmiany drugiego argumentu, gdy pierwszym argumentem jest TIME .

SELECT 
    GET_FORMAT(TIME,'USA') AS 'USA',
    GET_FORMAT(TIME,'JIS') AS 'JIS',
    GET_FORMAT(TIME,'ISO') AS 'ISO',
    GET_FORMAT(TIME,'EUR') AS 'EUR',
    GET_FORMAT(TIME,'INTERNAL') AS 'INTERNAL';

Wynik:

+-------------+----------+----------+----------+----------+
| USA         | JIS      | ISO      | EUR      | INTERNAL |
+-------------+----------+----------+----------+----------+
| %h:%i:%s %p | %H:%i:%s | %H:%i:%s | %H.%i.%s | %H%i%s   |
+-------------+----------+----------+----------+----------+

Specyfikatory jednostek

Zwrócony ciąg formatu może składać się z dowolnej kombinacji następujących specyfikatorów.

Specyfikator Opis
%a Skrócona nazwa dnia tygodnia (Sun ..Sat )
%b Skrócona nazwa miesiąca (Jan ..Dec )
%c Miesiąc, numeryczny (0th ..12 )
%D Dzień miesiąca z angielskim sufiksem (0th , 1st , 2nd , 3rd , …)
%d Dzień miesiąca, numeryczny (00 ..31 )
%e Dzień miesiąca, numeryczny (0th ..31 )
%f Mikrosekundy (000000 ..999999 )
%H Godzina (00 ..23 )
%h Godzina (01 ..12 )
%I Godzina (01 ..12 )
%i Minuty, numeryczne (00 ..59 )
%j Dzień roku (001 ..366 )
%k Godzina (0th ..23 )
%l Godzina (1 ..12 )
%M Nazwa miesiąca (January ..December )
%m Miesiąc, numerycznie (00 ..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 )
%U Tydzień (00 ..53 ), gdzie niedziela jest pierwszym dniem tygodnia; WEEK() tryb 0
%u Tydzień (00 ..53 ), gdzie poniedziałek to pierwszy dzień tygodnia; WEEK() tryb 1
%V Tydzień (01 ..53 ), gdzie niedziela jest pierwszym dniem tygodnia; WEEK() tryb 2; używane z %X
%v Tydzień (01 ..53 ), gdzie poniedziałek to pierwszy dzień tygodnia; WEEK() tryb 3; używane z %x
%W Nazwa dnia tygodnia (Sunday ..Saturday )
%w Dzień tygodnia (0th =Niedziela...6 =Sobota)
%X Rok tygodnia, w którym niedziela jest pierwszym dniem tygodnia, numeryczna, cztery cyfry; używane z %V
%x Rok tygodnia, gdzie poniedziałek to pierwszy dzień tygodnia, numeryczny, cztery cyfry; używane z %v
%Y Rok, numerycznie, cztery cyfry
%y Rok, numeryczny (dwie cyfry)
%% Dosłowny % znak
%x x , dla każdego „x ” nie wymienione powyżej


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. TIME_FORMAT() Przykłady – MySQL

  2. HAProxy:wszystkie zasoby z serii Kilkanaście

  3. Jaka jest najlepsza struktura bazy danych do przechowywania danych wielojęzycznych?

  4. Użyj relacyjnych baz danych MySQL w Fedorze 13

  5. Poprawa wydajności MySQL dzięki zaawansowanym ustawieniom InnoDB