sql >> Database >  >> RDS >> Mysql

Hoe u de maand van een datum haalt in MySQL

Probleem:

U wilt de maand uit een datum/datum/tijd-kolom in een MySQL-database halen.

Voorbeeld:

Onze database heeft een tabel met de naam apartment_rental met gegevens in de kolommen id , address , floor , en start_date .

id adres verdieping startdatum
1 700 Oak Street 2 2019-03-20
2 295 Hoofdstraat 3 31-05-2019
3 506 rijksweg 1 03-01-2019
4 3949 Route 31 1 2019-02-01

Vraag voor elk beschikbaar appartement het adres, de verdieping en de maand waarin het beschikbaar is. Ontvang alleen de maand vanaf de start_date kolom.

Oplossing:

We gebruiken de MONTH() functie. Dit is de vraag die je zou schrijven:

SELECT address,
       floor,
       MONTH(start_date)
         AS  start_month
FROM apartment_rental;

Dit is het resultaat van de zoekopdracht:

adres verdieping start_maand
700 Oak Street 2 3
295 Hoofdstraat 3 5
506 rijksweg 1 1
3949 Route 31 1 2

Discussie:

Gebruik de MONTH() functie om een ​​maand op te halen uit een kolom datum/datum/tijdstempel in MySQL. Voor deze functie is slechts één argument nodig:ofwel een expressie die een waarde voor datum/datum/tijdstempel retourneert, ofwel de naam van een kolom voor datum/datum/tijdstempel. (In ons voorbeeld gebruiken we de start_date kolom van datum gegevenstype).

MONTH() geeft de maand terug als een geheel getal van 1 tot 12 (1 is januari en 12 is december). In ons voorbeeld, het appartement op 700 Oak Street begint met huren in maand 3 omdat de startdatum '2019-03-20' . is


  1. Query Profiling 101 - Ja, het kan echt de prestaties van uw SQL Server verbeteren

  2. Hoe alle standaardbeperkingen in SQL Server-database te laten vallen - SQL Server / TSQL-zelfstudie, deel 94

  3. Wat is het grote verschil tussen Varchar2 en char

  4. Waarom vertraagt ​​de hogere LIMIT-offset van MYSQL de query?