sql >> Databáze >  >> RDS >> Mysql

GET_FORMAT() Příklady – MySQL

V MySQL můžete použít GET_FORMAT() funkce, která vrátí formátovací řetězec pro zadané argumenty. To může být užitečné, když potřebujete zadat formátovací řetězec jiné funkci, jako je DATE_FORMAT() nebo STR_TO_DATE() .

Syntaxe

Oficiální syntaxe vypadá takto:

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

Příklad 1 – Základní použití

Zde je příklad demonstrující, jak to funguje.

SELECT GET_FORMAT(DATE,'USA');

Výsledek:

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

Tento příklad tedy vrací formátovací řetězec pro USA. Nyní můžeme vzít tento formátovací řetězec a použít jej v různých funkcích formátování data.

Takhle:

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

Výsledek:

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

Tuto funkci však můžeme také předat přímo do DATE_FORMAT() funkce. Takhle:

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

Výsledek:

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

Díky tomu si nebudeme muset pamatovat, jaký formátovací řetězec použít – GET_FORMAT() dělá to za nás.

Příklad 2 – Hodnoty data

Tento příklad uvádí všechny varianty druhého argumentu, když je prvním argumentem 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';

Výsledek:

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

Příklad 3 – Hodnoty data a času

Tento příklad uvádí všechny varianty druhého argumentu, když je prvním argumentem 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';

Výsledek:

+-------------------+-------------------+-------------------+-------------------+--------------+
| 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 |
+-------------------+-------------------+-------------------+-------------------+--------------+

Příklad 4 – Časové hodnoty

Tento příklad uvádí všechny varianty druhého argumentu, když je prvním argumentem 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';

Výsledek:

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

Specifikátory jednotek

Vrácený formátovací řetězec může být tvořen libovolnou kombinací následujících specifikátorů.

Specifikátor Popis
%a Zkrácený název dne v týdnu (Sun ..Sat )
%b Zkrácený název měsíce (Jan ..Dec )
%c Měsíc, numerický (0 ..12 )
%D Den v měsíci s anglickou příponou (0th , 1st , 2nd , 3rd , …)
%d Den v měsíci, číselný údaj (00 ..31 )
%e Den v měsíci, číselný údaj (0 ..31 )
%f Mikrosekundy (000000 ..999999 )
%H Hodina (00 ..23 )
%h Hodina (01 ..12 )
%I Hodina (01 ..12 )
%i Minuty, číselné (00 ..59 )
%j Den v roce (001 ..366 )
%k Hodina (0 ..23 )
%l Hodina (1 ..12 )
%M Název měsíce (January ..December )
%m Měsíc, numerický (00 ..12 )
%p AM nebo PM
%r Čas, 12 hodin (hh:mm:ss následuje AM nebo PM )
%S Sekundy (00 ..59 )
%s Sekundy (00 ..59 )
%T Čas, 24 hodin (hh:mm:ss )
%U Týden (00 ..53 ), kde neděle je prvním dnem v týdnu; WEEK() režim 0
%u Týden (00 ..53 ), kde pondělí je první den v týdnu; WEEK() režim 1
%V Týden (01 ..53 ), kde neděle je prvním dnem v týdnu; WEEK() režim 2; používá se s %X
%v Týden (01 ..53 ), kde pondělí je první den v týdnu; WEEK() režim 3; používá se s %x
%W Název dne v týdnu (Sunday ..Saturday )
%w Den v týdnu (0 =Neděle..6 =Sobota)
%X Rok pro týden, kde neděle je prvním dnem v týdnu, číslice, čtyři číslice; používá se s %V
%x Rok pro týden, kde pondělí je první den v týdnu, číselné, čtyři číslice; používá se s %v
%Y Rok, číslice, čtyři číslice
%y Rok, číselný (dvě číslice)
%% Doslovné % postava
%x x , pro jakékoli „x ” není uvedeno výše


  1. Úprava řádků tabulky / záznamů v SQL Server Management Studio ( SSMS) - SQL Server výukový program / TSQL výukový program, část 18

  2. SQL Server Management Studio alternativy k procházení/úpravám tabulek a spouštění dotazů

  3. Python psycopg2 se nevkládá do tabulky postgresql

  4. Jak vrátit podřetězec z řetězce na serveru SQL pomocí funkce SUBSTRING().