SQL Date függvények és GETDATE magyarázat a szintaxis példákkal

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 ; 
image-1

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.