sql >> Database teknologi >  >> RDS >> Mysql

DATE_FORMAT() Eksempler – MySQL

Denne artikel indeholder eksempler på DATE_FORMAT() funktion i MySQL.

DATE_FORMAT() funktionen giver dig mulighed for at returnere en dato i et specificeret format. Du kan f.eks. bruge den til at returnere  2020-06-18 som torsdag juni 2020 , eller hvilket som helst andet format du har brug for.

Syntaks

Syntaksen ser sådan ud:

DATE_FORMAT(date,format)

Hvor date er den dato, du vil formatere, og format angiver, hvordan det skal formateres.

For en liste over gyldige formatspecifikationer, se tabellen nederst i denne artikel. Formatværdien skal starte med et procenttegn (% ).

Eksempel

Her er et eksempel til at demonstrere.

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

Resultat:

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

Korte/forkortede dag- og månedsnavne

Her er et eksempel, der formaterer resultatet til korte dag- og månedsnavne.

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

Resultat:

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

Et databaseeksempel

Her er et eksempel, hvor vi formaterer den værdi, der returneres fra en databasekolonne, der er gemt som en datetime-værdi.

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

Resultat:

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

Formatere klokkeslættet

Du kan også bruge DATE_FORMAT() for at formatere tidskomponenten for en datotid værdi. Eksempel:

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

Resultat:

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

Her er et andet eksempel, hvor jeg tilføjer AM/PM betegner:

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

Resultat:

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

Tilgængelige specifikationer

Følgende specifikationer kan bruges til at angive returformatet. Formatværdien skal starte med et procenttegn (% ).

Specifier Beskrivelse
%a Forkortet ugedagsnavn (Sun ..Sat )
%b Forkortet månedsnavn (Jan ..Dec )
%c Måned, numerisk (0 ..12 )
%D Dag i måneden med engelsk suffiks (0th , 1st , 2nd , 3rd , …)
%d Dag i måneden, numerisk (00 ..31 )
%e Dag i måneden, numerisk (0 ..31 )
%f Mikrosekunder (000000 ..999999 )
%H Time (00 ..23 )
%h Time (01 ..12 )
%I Time (01 ..12 )
%i Minutter, numerisk (00 ..59 )
%j Dag i året (001 ..366 )
%k Time (0 ..23 )
%l Time (1 ..12 )
%M Månedens navn (January ..December )
%m Måned, numerisk (00 ..12 )
%p AM eller PM
%r Tid, 12 timer (hh:mm:ss efterfulgt af AM eller PM )
%S Sekunder (00 ..59 )
%s Sekunder (00 ..59 )
%T Tid, 24 timer (hh:mm:ss )
%U Uge (00 ..53 ), hvor søndag er den første dag i ugen; WEEK() tilstand 0
%u Uge (00 ..53 ), hvor mandag er den første dag i ugen; WEEK() tilstand 1
%V Uge (01 ..53 ), hvor søndag er den første dag i ugen; WEEK() tilstand 2; brugt med %X
%v Uge (01 ..53 ), hvor mandag er den første dag i ugen; WEEK() tilstand 3; brugt med %x
%W Ugedagsnavn (Sunday ..Saturday )
%w Ugedag (0 =søndag..6 =lørdag)
%X År for ugen, hvor søndag er den første dag i ugen, numerisk, fire cifre; bruges med %V
%x År for ugen, hvor mandag er den første dag i ugen, numerisk, fire cifre; brugt med %v
%Y Årtal, numerisk, fire cifre
%y År, numerisk (to cifre)
%% En bogstavelig % tegn
%x x , for enhver "x ” ikke angivet ovenfor


  1. Hvordan tilføjer du PostgreSQL Driver som en afhængighed i Maven?

  2. Hvorfor beklager Oracle 10g sig ikke over kolonne-uklarhed?

  3. SQL Server Cursor Types - Dynamic Cursor | SQL Server Tutorial / TSQL Tutorial

  4. Find max værdi og vis tilsvarende værdi fra andet felt i SQL server