Sql - 13. lecke

SQL → tanulságok lecke 13. Dátum és idő függvények

Ezek a funkciók tervezték, hogy a naptár adattípusok. Tekintsük a legtöbb esetben.
  • CURDATE (), CURTIME () és a MOST () Az első függvény az aktuális dátumot, a második - a pontos időt, és a harmadik - az aktuális dátumot és időt. Összehasonlítás:

SELECT CURDATE (), CURTIME (), NOW ();

CURDATE () és a MOST () célszerű felvenni az adatbázisba rekordokat az aktuális időt. Üzletünkben minden ellátás és az értékesítés az aktuális időt. Ezért, hogy adjunk hozzá mintegy Pasztavi bejegyzések, és az értékesítési kényelmes a használata CURDATE () függvényt. Tegyük fel például, jöjjön el a bolt árut, tegyük hozzá táblázat adatait Supply (bejövő):

INSERT INTO bejövő (id_vendor, date_incoming) ÉRTÉKEK ( '2', curdate ());

Ha tartjuk a szállítási határidő típusú datatime, akkor illene a NOW () függvény.
  • ADDDATE (dátum, intervallum érték) függvény a dátum dátum, amelyhez hozzáadódik az érték érték. Az érték lehet egy negatív érték, akkor a végső dátumot csökken. Lássuk, amikor a szállítói áruszállításokról:

    SELECT id_vendor, date_incoming bejövő;

    Tegyük fel, hogy hibázott, amikor a dátum megadása az első szolgáltató, nézzük csökkenti, hogy egy időpontot éjszaka:

    SELECT id_vendor, ADDDATE (date_incoming, INTERVAL -1 nap)
    a bejövő
    AHOL id_vendor = 1;

    Az érték értéke lehet nem csak nappal, de egy hét (hét), hónap (hónap), negyed (negyed) és éves (év). Nézzük például csökkenti a szállítási határidő a második szállító 1 hét:

    SELECT id_vendor, ADDDATE (date_incoming, INTERVAL -1 hét)
    a bejövő
    AHOL id_vendor = 2;

    A mi táblázat Supply (bejövő), azt az oszlopot Szállítási határidő (date_incoming) típusú dátumot. Ahogy emlékszem, óráról 2, az ilyen típusú adatok azt tervezték, hogy tárolja egyetlen időpont. De ha használt datatime típusát, akkor mi lenne jelenik ne csak a dátumot, hanem az időt. Akkor tudnánk használni ADDDATE funkciót és az időt. Az érték értéke ebben az esetben működhet másodperc (második), perc (perc), óra (óra) és ezek kombinációi:

    perc és másodperc (MINUTE_SECOND),
    óra, perc, másodperc (HOUR_SECOND),
    Óra és a perc (HOUR_MINUTE)
    nap, óra, perc, másodperc (DAY_SECOND),
    nap, óra, perc (DAY_MINUTE),
    nap és óra (DAY_HOUR),
    évek és hónapok (YEAR_MONTH).


  • SUBDATE (dátum, intervallum érték) függvény megegyezik az előzővel, de ez teszi a kivonás helyett felül.
  • TIMESTAMPADD (intervallum, n, dátum) függvény hozzáadja a dátumot egy dátumot időintervallum n. A megadott érték a paraméter-tartomány. Lehetséges értékek szünet paraméter:

    FRAC_SECOND - mikromásodperc
    MÁSODIK - másodperc
    MINUTE - perc
    ÓRA - Óra
    DAY - nap
    HÉT - hét
    HÓNAP - hónap
    Negyed - negyedek
    ÉV - év


  • TIMEDIFF (dátum1, dátum2) számítja ki a különbséget óra, perc, másodperc A két időpont közötti.
  • DATEDIFF (dátum1, dátum2) számítja ki a különbséget a dátum között. Például, azt szeretné tudni, hogy milyen hosszú a szállító Williams (id = 1) szállított nekünk az árut:

    SELECT date_incoming, CURDATE (), DATEDIFF (CURDATE (), date_incoming)
    a bejövő
    AHOL id_vendor = 1;


  • TIMESTAMPDIFF (intervallum, dátum1, dátum2) függvény kiszámítja a különbséget a dátumok és dátum2 dátum1 egységekben megadott intervallum paraméter. Lehetséges értékek szünet paraméter:

    FRAC_SECOND - mikromásodperc
    MÁSODIK - másodperc
    MINUTE - perc
    ÓRA - Óra
    DAY - nap
    HÉT - hét
    HÓNAP - hónap
    Negyed - negyedek
    ÉV - év


  • SUBTIME (dátum, idő) függvény kivonja az idő idő dátum idő:
  • DATE (dátum és idő) visszaadja a dátumot, időt vágás. Például:
  • IDŐ (datetime) visszatér az idő, vágás időpontját. Például:
  • TIMESTAMP (dátum) függvény a dátum és visszaadja a dátumot a teljes verzió az idő múlásával. Például:
  • DAY (dátum) és DAYOFMONTH (dátum) -synonyms függvény sorszáma napjától a hónap:
  • DAYNAME (dátum), DAYOFWEEK (dátum) és WEEKDAY (dátum) függvény a nap a héten, az első - a nevét, a második - a napok száma a hét (jobbról 1 - vasárnap 7-ig - szombat), a harmadik - a hét napja száma (jobbról 0 - hétfő, 6 - Vasárnap:
  • Hét (dátum), WEEKOFYEAR (datetime) mindkét funkciót vissza a hét száma az évben, az első a típusú dátum, és a második - a datetime típus, az első hét kezdődik vasárnap, a második - Hétfő:
  • HÓNAP (dátum) és MONTHNAME (dátum), mindkét funkció visszatérjen egy hónapban. Először - a számérték (1 és 12 között), a második - a hónap nevét:
  • NEGYED (dátum) függvény negyedévben (1-4):
  • YEAR (dátum) függvény a megadott értéket az évben (1000 és 9999):
  • DAYOFYEAR (dátum) Visszaadja a nap az évben (1-366):
  • HOUR (datetime) visszaad egy értéket egy órát (0-23):
  • MINUTE (datetime) visszatér egy perc értéket az idő (0-59):
  • MÁSODIK (datetime) visszaáll a másodperc értéke az idő (0-59):
  • Kivonat (típusát dátum) visszaadja része által meghatározott időpontban a paraméter típusa:
  • TO_DAYS (dátum) és FROM_DAYS (n) a kölcsönös funkciót. Az első átalakítja a dátumot a eltelt napok száma, mivel az év nulla. A második, éppen ellenkezőleg, úgy óta eltelt napok száma az év nulla, és átalakítja őket a mai napig:
  • TIME_TO_SEC (idő) és SEC_TO_TIME (n) a kölcsönös funkciót. Az első alakítja az időt száma másodperc telt el a nap kezdetén. A második, éppen ellenkezőleg, úgy a másodpercek száma, mivel a nap elején, és átalakítja őket során:

    SELECT TIME_TO_SEC ('22: 10: 30 „), SEC_TO_TIME (45368);


  • MAKEDATE (év, n) függvény egy év és egy nap több év, és átalakítja azokat dátuma:


  • Nos, a mai. A következő alkalommal megnézi azokat a funkciókat, segít át a dátumot egyik formátumból a másikba.

    Kapcsolódó cikkek