MySQL Kalender Tutorial

MySQL Kalender Tutorial


Det finnes en rekke kalender (dato) kommandoer i MySQL som kan brukes i en spørring (en brukerdefinert setningen som henter spesifikke data fra en tabell i en database). MySQL referansehåndboken (versjon 5.1) beskriver alle de dato kommandoene i full detalj, men noen eksempler kan demonstrere prosessen. I MySQL, vil datoen automatisk satt i "åååå-mm-dd" format og følgende eksempler tar det i betraktning. Hver forespørsel skal skrives nøyaktig slik den vises, inkludert alt inne i anførselstegn. I eksemplene er bordet-verdi "lønning" og tabell "worksched" brukt for spørringer som involverer langsiktig, brukerdefinerte datoer.

Bruksanvisning

Hente dato

1 Enter "SELECT CURDATE ();" på MySQL ledeteksten, og trykk "enter" for å kjøre spørringen. Den CURDATE () kommandoen henter dagens dato (åååå-mm-dd).

2 Enter "Velg år (CURDATE ());" til å hente det året gjeldende dato. For tabellen verdi "lønning", skriv "SELECT ÅR (lønning) FRA worksched;" å hente år fra dato for "lønning".

3 Skriv inn "Velg måned (CURDATE ());" måned gjeldende dato eller for å hente "Velg måned (lønning) FRA worksched;" for månedene de "lønning" datoer.

4 Enter "SELECT DAY (CURDATE ());" for å hente den dagen den aktuelle datoen eller "SELECT DAY (lønning) FRA worksched;" for dagene av "lønning" datoer. DAYOFMONTH også kan brukes i stedet for DAG.

Isolere Deler av siden

5 Enter "SELECT VENSTRE (CURDATE (), 4);" for å hente de fire sifrene i det året gjeldende dato. Enter "velge Venstre (lønning, 4) Fra worksched;" for å hente den firesifrede år fra dato for "lønning". Endre nummeret (4) vil hente en annen mengde tall fra den dato (streker teller som sifre).

6 Skriv inn "VELG RETT (CURDATE (), 2);" å isolere de to sifrene i dag, fra dagens dato. Skriv inn "VELG RETT (lønning, 2) Fra worksched;" for de tosifrede dager av "lønning" datoer.

7 Enter "SELECT LEFT (HØYRE (CURDATE (), 5), 2);" å isolere de to sifrene i måneden gjeldende dato. Uttalelsen henter de fem sifrene i dag og måned (dash inkludert) og så tar de igjen to sifrene som produserer de to sifrene i måneden. Enter "SELECT LEFT (HØYRE (lønning, 5), 2) Fra worksched;" å utføre samme søk med "lønning".

Ved hjelp av matematiske uttrykk for Dato spørringer

8 Skriv inn "SELECT lønning Fra worksched WHERE ÅR (lønning) =" 2008 ";" for å hente en liste over de fulle datoene for "lønning" der over datoer er lik "2008." Du kan også bruke måned og dag, i stedet for ÅR. I denne type spørsmål, CURDATE () er ikke nyttig.

9 Skriv inn "SELECT lønning Fra worksched WHERE ÅR (lønning) <" 2008 ";" du får se fulle datoene for "lønning" der året er mindre enn "2008." Jo større-enn-symbolet (>) og ikke-lik symbol (<>) kan også brukes i setningen. I denne type spørsmål, CURDATE () er ikke nyttig.

10 Enter "Velg år (DATE_ADD (CURDATE (), intervall 1 ÅR);". For å hente årets delen av dato som er nøyaktig ett år fra det året gjeldende dato (som vil være "2011") Enter "Velg år ( DATE_ADD (lønning, intervall 1 år) etter worksched HVOR lønning = "2010-12-12", "å gjøre det samme med" lønning "antall (1) intervall kan endres og måned eller dag kan brukes i stedet. av året.

11 Enter "Velg år (DATE_SUB (CURDATE (), intervall 1 ÅR);". For å hente årets delen av dato som er nøyaktig ett år før det året gjeldende dato (2009) Enter "Velg år (DATE_SUB (lønning, Intervall 1 år) etter worksched HVOR lønning = "2010-12-12;" ". lønning" for å gjøre det samme med intervallet verdien kan endres og måned eller dag kan brukes i stedet for ÅR.

Hint

  • 1. Se punkt 11.7 av MySQL manualen (se "Referanser") for en komplett liste over dato / klokkeslett funksjoner og deres riktig syntaks.
  • 2. Noen spørsmål i denne opplæringen kan utføres på andre måter. I stedet for å bruke "SELECT LEFT (HØYRE (CURDATE (), 5), 2);" å hente måned del av datoen, kan du bruke "Velg måned (CURDATE ());" som en enklere måte for å produsere de samme resultatene.
  • Følg eksakt syntaks for å uttale seg i spørringer. De semikolon, parentes og anførselstegn er nødvendig for spørring for å produsere de riktige resultatene.