Mysql date_format

Mysql date_format
Standard datoformat i mysql er 'yyyy-mm-dd.'Hvis datoverdien ikke er gitt i riktig format når du setter inn data i databasen. En feil kan genereres, ellers vil en feil verdi bli satt inn. Noen ganger krever det å vise datoverdien i et annet format, for eksempel 'dd-mm-yyyy' eller 'mm-dd-yyyy' eller månedens navn i stedet for numerisk verdi etter å ha lest dataene fra databasetabellen. De Date_format () Funksjonen til MySQL brukes til å få den formaterte datoutgangen basert på programmeringskravet. Måtene å bruke denne funksjonen i MySQL på forskjellige måter har blitt vist i denne opplæringen.

Syntaks:

Syntaksen til dato_format () -funksjonen har gitt nedenfor.

Date_format (date_value, format)

Her inneholder det første argumentet en dato- eller datetimeverdi fra databasetabellen fra databasetabellen. Det andre argumentet inneholder formatspesifikasjonen definert av '%' for å få den formaterte utdataene fra datoverdien. Ulike typer formatspesifikasjoner er beskrevet i neste del av opplæringen.

Datoformatspesifikasjoner:

En eller flere formatspesifikasjoner kan brukes som formatverdien til dato_format () -funksjonen. Formatspesifikasjonene som brukes til å formatere datoen i MySQL er gitt nedenfor.

Spesifikasjonsnavn Beskrivelse
%en Det brukes til å skrive ut korte ukedagsnavn. (Sol ... lør)
%b Det brukes til å skrive ut korte måneders navn. (Jan… desember)
%c Det brukes til å skrive ut numeriske månedsnavn. (0… 12)
%d Det brukes til å skrive ut måneden i måneden med den ledende 0. (00… 31)
%D Den brukes til å skrive ut månedens dag med suffikset, for eksempel 1st, 2nd, 3Rd, 4th, etc.
%e Det brukes til å skrive ut månedens dag uten å lede 0. (0… 31)
%f Det brukes til å skrive ut datoverdier i mikrosekunder. (000000… 999999)
%J Det brukes til å trykke dagen i året med den ledende 0. (000… 366)
%m Den brukes til å skrive ut den numeriske månedens verdi med ledende 0. (00… 12)
%M Det brukes til å skrive ut hele månedens navn. (Januar ... desember)
%U Det brukes til å skrive ut ukens nummer på året med 00, der søndag er den første dagen i uken. Uke () modus 0. (00… 53)
%u Det brukes til å skrive ut ukens nummer på året med 00, hvor mandag er den første ukedagen. Uke () modus 1. (00… 53)
%V Det brukes til å skrive ut ukens nummer på året som starter med 01, der søndag er den første dagen i uken. Uke () Mode 2. (01… 53)
%v Det brukes til å skrive ut ukens nummer på året med 01, hvor mandag er den første ukens dag. Uke () modus 3. (01… 53)
%w Det brukes til å trykke den numeriske dagen i uken der 0 representerer søndag. (0… 6)
%W Det brukes til å skrive ut hele ukedagens navn. (Søndag Lørdag)
%X Det brukes til å trykke året for uken der søndag er den første dagen i uken, numeriske, fire sifre; brukt med %v
%x Det brukes til å trykke året for uken, der mandag er den første dagen i uken, numeriske, fire sifre; brukt med %v
%y Det brukes til å trykke to sifre år.
%Y Det brukes til å skrive ut fire sifre år.

Bruk av date_format ():

Ulike bruksområder for dato_format () -funksjonen i MySQL er vist i denne delen av opplæringen.

Eksempel 1: Bruke en enkelt formatspesifikasjon

Tre forskjellige spesifikasjoner har blitt brukt i dato_format () -funksjonen til følgende valgte spørring. De %D Skriv ut måneden i måneden med suffikset av datoen. De %M Skriv ut hele månedens navn på datoen. De %Y vil skrive ut 4-sifre årsverdien på datoen.

Velg Date_Format ('2022-01-05', '%D') som 'Day of the Date',
Dato_Format ('2022-01-05', '%M') som 'Dato måned',
Date_format ('2022-01-05', '%y') som 'år for datoen';

Produksjon:

Eksempel-2: Bruke spesifikasjon av flere format

I forrige eksempel har en enkelt formatspesifikasjon brukt i hver Date_Format () -funksjon. Spesifikatorene for flere format har blitt brukt i dato_format () -funksjonen til følgende SELECT SPØRSMÅL. Den formaterte datoverdien vil bli skrevet ut etter å ha utført følgende spørsmål.

Velg '2022-05-03' som 'Original date',
Date_format ('2022-05-03', '%d-%m-%y') som 'formatert dato';

Produksjon:

Eksempel-3: Bruke spesifikasjoner for flere format for gjeldende dato

Spesifikatorene for flere format har blitt brukt i dato_format () -funksjonen til følgende velg -spørring for å formatere gjeldende systemdato. Ukedagens navn på gjeldende dato, dagen for gjeldende dato med suffiks, og de fire-sifre årene av gjeldende dato vil bli skrevet ut i utgangen.

Velg Date_Format (nå (), ' %w, %d %m, %y') som i dag;

Produksjon:

Eksempel-4: Feltet for format Dato i databasetabellen

Du må opprette en databasetabell med dataene i en MySQL -database for å sjekke bruken av Date_Format () -funksjonen i tabellens data.

Åpne terminalen og koble til MySQL -serveren ved å utføre følgende kommando.

$ sudo mysql -u root

Kjør følgende kommando for å opprette en database som heter test_db.

Opprette databasetest_db;

Kjør følgende kommando for å velge databasen.

Bruk test_db;

Kjør følgende spørsmål for å opprette en tabell som heter ansatte med fire felt.

Lag tabell 'ansatte' (
'id' int (11) auto_increment,
'navn' varchar (50) ikke null,
'post' varchar (25) ikke null,
'Joining_date' Dato Not Null, Primary Key (ID));

Kjør følgende spørsmål for å sette inn to poster i ansatte bord.

Sett inn 'ansatte' ('id', 'Navn', 'Post', 'Joining_date')
Verdier (Null, 'Nur Jahan', 'Assistant Manager', '2021-01-05'),
(Null, 'Asif Iqbal', 'Manager', '2019-03-20');

Kjør følgende to utvalgte spørsmål for å sjekke det originale innholdet i ansatte tabell og den formaterte datoverdien for ansatte bord.

Velg * fra ansatte;
Velg ID som ID, Navn, Post, Date_Format (Joining_Date, ' %d %m %y') som 'sammenføyningsdato' fra ansatte;

Produksjon:

Konklusjon:

Bruke dato_format () -funksjonen med forskjellige datoformatspesifikasjoner i SELECT -spørringen er beskrevet i denne opplæringen med tabelldataene og uten tabelldata. Jeg håper MySQL -brukerne vil kunne bruke denne funksjonen riktig i spørringen etter å ha lest denne opplæringen.