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

DATE_FORMAT() Příklady – MySQL

Tento článek obsahuje příklady DATE_FORMAT() funkce v MySQL.

DATE_FORMAT() Funkce umožňuje vrátit datum v určeném formátu. Můžete jej použít například k návratu  2020-06-18 jako Čtvrtek, červen 2020 , nebo jakýkoli jiný požadovaný formát.

Syntaxe

Syntaxe vypadá takto:

DATE_FORMAT(date,format)

Kde date je datum, které chcete formátovat, a format určuje, jak má být formátován.

Seznam platných specifikátorů formátu naleznete v tabulce ve spodní části tohoto článku. Hodnota formátu musí začínat znakem procenta (% ).

Příklad

Zde je příklad k demonstraci.

SELECT DATE_FORMAT('2020-06-18', '%W, %M %Y') AS 'Result';

Výsledek:

+---------------------+
| Result              |
+---------------------+
| Thursday, June 2020 |
+---------------------+

Krátké/zkrácené názvy dnů a měsíců

Zde je příklad, který formátuje výsledek do krátkých názvů dnů a měsíců.

SELECT DATE_FORMAT('2020-06-18', '%a, %b %Y') AS 'Result';

Výsledek:

+---------------+
| Result        |
+---------------+
| Thu, Jun 2020 |
+---------------+

Příklad databáze

Zde je příklad, kdy formátujeme hodnotu vrácenou z databázového sloupce, který je uložen jako hodnota datetime.

USE sakila;
SELECT
  payment_date AS 'Date/Time',
  DATE_FORMAT(payment_date, '%W, %M %Y') AS 'Date'
FROM payment
WHERE payment_id = 1;

Výsledek:

+---------------------+---------------------+
| Date/Time           | Date                |
+---------------------+---------------------+
| 2005-05-25 11:30:37 | Wednesday, May 2005 |
+---------------------+---------------------+

Formátování času

Můžete také použít DATE_FORMAT() k formátování časové složky datetime hodnota. Příklad:

USE sakila;
SELECT
  payment_date AS 'Date/Time',
  DATE_FORMAT(payment_date, '%h:%i:%s') AS 'Time'
FROM payment
WHERE payment_id = 1;

Výsledek:

+---------------------+----------+
| Date/Time           | Time     |
+---------------------+----------+
| 2005-05-25 11:30:37 | 11:30:37 |
+---------------------+----------+

Zde je další příklad, kam přidám AM/PM označení:

USE sakila;
SELECT
  payment_date AS 'Date/Time',
  DATE_FORMAT(payment_date, '%h:%i %p') AS 'Time'
FROM payment
WHERE payment_id = 1;

Výsledek:

+---------------------+----------+
| Date/Time           | Time     |
+---------------------+----------+
| 2005-05-25 11:30:37 | 11:30 AM |
+---------------------+----------+

Dostupné specifikace

Následující specifikátory lze použít k určení návratového formátu. Hodnota formátu musí začínat znakem procenta (% ).

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. SQLite Představuje funkci UNIXEPOCH().

  2. Oracle current_timestamp převod na sekundy

  3. Uživatelská oprávnění MySQL na sdílených serverech

  4. Paralelní unnest() a pořadí řazení v PostgreSQL