A MySQL-ben 61 dátumfüggvény van meghatározva. Ne aggódjon, itt nem nézzük át mindet. Ez az útmutató bemutat néhány ismertetést, és elegendő expozíciót kínál ahhoz, hogy kényelmesen felfedezhesse önállóan.
Kitérünk:
- Az aktuális dátum beolvasása
- Date Math
- Dátumok hol vagy záradékkal
Az aktuális dátum beolvasása
A dátum lekérése a rendszerből nagyon hasznos lehet az adatok SQL-feldolgozásához.
-- current date select now(), sysdate(), current_date(), current_time(), -- date and time from the system on execution dayofyear(now()) as NumDaysSoFarThisYr, EXTRACT(YEAR FROM now()) as theYearPart, EXTRACT(YEAR_MONTH FROM now()) as theYrMonPart, date_format(now(), '%W %M %Y') as oneOfManyFormats; ;
Az SQL lekérdezésben a következőket látjuk:
- Az eredmény első két oszlopa kétféleképpen érheti el ugyanazt az információt: a dátum a rendszeren az SQL végrehajtásakor.
- A következő két oszlop csak a rendszer dátumának Dátum és Idő részeit taglalja.
- A következő bemutatja a rendszer dátumának „napszámát” ebben az évben. Észre fogja venni, hogy ez egy nappal több, mint a következő példában bemutatott matematika.
- A következő két kivonat csak az évet, majd az évet és a hónapot is tartalmazza
- Végül, de nem utolsósorban, van egyetlen példa a dátumok sokféle formázásának egyikére.
A GETDATE () használatával megkapja az aktuális dátumot is.
Date Math
select now(), current_date(), datediff(now(),'2017-01-01') as daysThisYear, subdate(current_date(), interval 150 day) as '150DaysAgo', adddate(now(), interval 7 day) as dateInA_Week -- date in a week ;

Itt látjuk:
- Az első két oszlop csak a rendszer dátuma és időpontja.
- A második oszlop a 2017. január elseje és a rendszer dátuma közötti dátumkülönbség (dátum).
- Az utolsó két oszlop példa a dátumok kivonására és összeadására.
A hol vagy amelynek záradéka van
Íme két példa a dátum matematika használatára egy ahol záradékban:
select * from student; - to show the current data being used for the example select * from student where recordCreated < '2017-01-01'; select * from student where recordCreated < subdate(current_date(), interval 225 day);
A HAVING résszel kapcsolatban: Ne feledje, hogy a WHERE záradék logikájának nagy része a GROUP BY HAVING záradékában is működik. A kettő közötti különbség az, hogy a WHERE záradék a teljes adatokkal, a HAVING pedig a GROUP BY záradék által összesített adatokkal fut össze.
Mint mindezen dolgok esetében, SOKKAL TÖBB a számukra, mint ami ebben a bevezető útmutatóban található. Remélem, hogy ez legalább annyit ad a kezdéshez. Kérjük, olvassa el az adatbázis-kezelő kézikönyvét, és jó szórakozást próbáljon ki magának a különböző lehetőségekkel.