sql >> Database >  >> RDS >> Mysql

DATE_FORMAT() Voorbeelden – MySQL

Dit artikel bevat voorbeelden van de DATE_FORMAT() functie in MySQL.

De DATE_FORMAT() functie stelt u in staat om een ​​datum in een gespecificeerd formaat te retourneren. U kunt het bijvoorbeeld gebruiken om  18-06-2020 . te retourneren als donderdag juni 2020 , of welk ander formaat u ook nodig heeft.

Syntaxis

De syntaxis gaat als volgt:

DATE_FORMAT(date,format)

Waar date is de datum die u wilt formatteren, en format specificeert hoe het moet worden opgemaakt.

Zie de tabel onderaan dit artikel voor een lijst met geldige indelingsspecificaties. De formaatwaarde moet beginnen met een procentteken (% ).

Voorbeeld

Hier is een voorbeeld om te demonstreren.

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

Resultaat:

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

Korte/verkorte namen van dagen en maanden

Hier is een voorbeeld dat het resultaat opmaakt in korte dag- en maandnamen.

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

Resultaat:

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

Een databasevoorbeeld

Hier is een voorbeeld waarin we de waarde formatteren die wordt geretourneerd uit een databasekolom die is opgeslagen als een datetime-waarde.

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

Resultaat:

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

De tijd opmaken

U kunt ook DATE_FORMAT() . gebruiken om de tijdcomponent van een datetime op te maken waarde. Voorbeeld:

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

Resultaat:

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

Hier is nog een voorbeeld waarbij ik de AM/PM . toevoeg aanduiding:

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

Resultaat:

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

Beschikbare specificaties

De volgende specificaties kunnen worden gebruikt om het retourformaat te specificeren. De formaatwaarde moet beginnen met een procentteken (% ).

Beschrijving Beschrijving
%a Afgekorte naam van de weekdag (Sun ..Sat )
%b Afgekorte maandnaam (Jan ..Dec )
%c Maand, numeriek (0 ..12 )
%D Dag van de maand met Engels achtervoegsel (0th , 1st , 2nd , 3rd , …)
%d Dag van de maand, numeriek (00 ..31 )
%e Dag van de maand, numeriek (0 ..31 )
%f Microseconden (000000 ..999999 )
%H Uur (00 ..23 )
%h Uur (01 ..12 )
%I Uur (01 ..12 )
%i Minuten, numeriek (00 ..59 )
%j Dag van het jaar (001 ..366 )
%k Uur (0 ..23 )
%l Uur (1 ..12 )
%M Maandnaam (January ..December )
%m Maand, numeriek (00 ..12 )
%p AM of PM
%r Tijd, 12 uur (hh:mm:ss gevolgd door AM of PM )
%S Seconden (00 ..59 )
%s Seconden (00 ..59 )
%T Tijd, 24 uur (hh:mm:ss )
%U Week (00 ..53 ), waarbij zondag de eerste dag van de week is; WEEK() modus 0
%u Week (00 ..53 ), waarbij maandag de eerste dag van de week is; WEEK() modus 1
%V Week (01 ..53 ), waarbij zondag de eerste dag van de week is; WEEK() modus 2; gebruikt met %X
%v Week (01 ..53 ), waarbij maandag de eerste dag van de week is; WEEK() modus 3; gebruikt met %x
%W Naam weekdag (Sunday ..Saturday )
%w Dag van de week (0 =Zondag..6 =zaterdag)
%X Jaar voor de week waarin zondag de eerste dag van de week is, numeriek, vier cijfers; gebruikt met %V
%x Jaar voor de week, waarbij maandag de eerste dag van de week is, numeriek, vier cijfers; gebruikt met %v
%Y Jaar, numeriek, vier cijfers
%y Jaar, numeriek (twee cijfers)
%% Een letterlijke % karakter
%x x , voor elke “x ” niet hierboven vermeld


  1. Toegang wordt geweigerd bij het koppelen van een database

  2. PostgreSQL:prestatie pg_dump, pg_restore verbeteren

  3. mySQL De top 5 van elke categorie teruggeven

  4. Controleer of er een rij bestaat, anders invoegen