sql >> Databasteknik >  >> RDS >> Mysql

DATE_FORMAT() Exempel – MySQL

Den här artikeln innehåller exempel på DATE_FORMAT() funktion i MySQL.

DATE_FORMAT() funktionen låter dig returnera ett datum i ett specificerat format. Du kan till exempel använda den för att returnera  2020-06-18 som torsdag juni 2020 , eller vilket annat format du behöver.

Syntax

Syntaxen ser ut så här:

DATE_FORMAT(date,format)

Där date är det datum du vill formatera och format anger hur den ska formateras.

För en lista över giltiga formatspecifikationer, se tabellen längst ner i den här artikeln. Formatvärdet måste börja med ett procenttecken (% ).

Exempel

Här är ett exempel att visa.

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

Resultat:

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

Korta/förkortade dag- och månadsnamn

Här är ett exempel som formaterar resultatet till korta dag- och månadsnamn.

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

Resultat:

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

Ett databasexempel

Här är ett exempel där vi formaterar värdet som returneras från en databaskolumn som lagras som ett datum och tid.

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

Formatera tiden

Du kan också använda DATE_FORMAT() för att formatera tidskomponenten för en datetime värde. Exempel:

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

Här är ett annat exempel där jag lägger till AM/PM beteckning:

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

Tillgängliga specifikationer

Följande specifikationer kan användas för att ange returformatet. Formatvärdet måste börja med ett procenttecken (% ).

Specifierare Beskrivning
%a Förkortat veckodagsnamn (Sun ..Sat )
%b Förkortat månadsnamn (Jan ..Dec )
%c Månad, numerisk (0 ..12 )
%D Dag i månaden med engelskt suffix (0th , 1st , 2nd , 3rd , …)
%d Dag i månaden, numerisk (00 ..31 )
%e Dag i månaden, numerisk (0 ..31 )
%f Mikrosekunder (000000 ..999999 )
%H Timme (00 ..23 )
%h Timme (01 ..12 )
%I Timme (01 ..12 )
%i Minuter, numeriska (00 ..59 )
%j Dag på året (001 ..366 )
%k Timme (0 ..23 )
%l Timme (1 ..12 )
%M Månadsnamn (January ..December )
%m Månad, numerisk (00 ..12 )
%p AM eller PM
%r Tid, 12 timmar (hh:mm:ss följt av AM eller PM )
%S Sekunder (00 ..59 )
%s Sekunder (00 ..59 )
%T Tid, 24 timmar (hh:mm:ss )
%U Vecka (00 ..53 ), där söndag är den första dagen i veckan; WEEK() läge 0
%u Vecka (00 ..53 ), där måndag är den första dagen i veckan; WEEK() läge 1
%V Vecka (01 ..53 ), där söndag är den första dagen i veckan; WEEK() läge 2; används med %X
%v Vecka (01 ..53 ), där måndag är den första dagen i veckan; WEEK() läge 3; används med %x
%W Veckodagens namn (Sunday ..Saturday )
%w Veckodag (0 =Söndag..6 =lördag)
%X År för veckan där söndag är den första dagen i veckan, numeriskt, fyra siffror; används med %V
%x Veckans år, där måndag är den första dagen i veckan, numeriskt, fyra siffror; används med %v
%Y Årtal, siffror, fyra siffror
%y Årtal, numeriskt (två siffror)
%% En bokstavlig % tecken
%x x , för någon "x ” inte listad ovan


  1. Hur parallella planer startar – del 5

  2. Hur använder man parametrar i en "where value in..."-sats?

  3. INDIA, STD Code Finder Script i PHP, MYSQL, JQUERY

  4. Fix Msg 8114 "Fel vid konvertering av datatyp varchar till numerisk" i SQL Server