Hozzátéve idő értékek a mai napig

feladat
Azt szeretnénk, hogy adjunk időt a értéknapja vagy értéknapra-és időben.

döntés
Használja DATE_ADD () és DATE_SUB (), kifejezetten aritmetikai műveleteket és három óra. Azt is alkalmazni TO_DAYS () és FROM_DAYS () vagy UNIX_TIMESTAMP () és FROM_UNIXTIME ().

megbeszélés
Dátum számtani kissé bonyolultabb, mint az idők során, a változó hosszúságú hónapok és évek. Ezért MySQL speciális funkciókat DATE_ADD () és DATE_SUB (), hogy adjunk időközönként dátumot, és kivonjuk nih.1 függvény értékét veszi fel a dátumot és az intervallum d a következő formában:

DATE_ADD (d, intervallum érték egy)
DATE_SUB (d, intervallum érték egy)

ahol az egység - az egységnyi mérési időtartam és az érték - kifejezést meghatározza az ezen egységek száma. A leggyakoribb tartalmaz ilyen előírást egységek év, hónap, nap, óra, perc, másodperc (a teljes listát kap a MySQL kézikönyv). Megjegyezzük, hogy a mértékegység nincs megadva többes számban, és az egyes szám.

A DATE_ADD () és DATE_SUB (), hogy hajtsa végre a következő aritmetikai műveletek:

• Határozza meg a dátumot, amely három napon belül ma:

mysql> SELECT CURDATE (), DATE_ADD (CURDATE (), INTERVAL 3 nap);

• Ellenőrizze dátumokat lépve hete (a hetes időközzel, a lekérdezés értéket használja 7 nap, mivel nincs egység hét): mysql> SELECT CURDATE (), DATE_SUB (CURDATE (), intervallum 7 nap);

• Ha meg kell tanulni, és a dátumot és az időt, kezdje értéke DATETIME vagy időbélyeg.


A válasz a kérdésre: „Mennyi idő lesz 60 óra”, akkor futtassa a lekérdezést:

mysql> SELECT NOW (), DATE_ADD (MOST (), INTERVAL 60 óra);

• Egyes tervezők időközönként, és tartalmazza a dátumot és az időt. Az alábbi lekérdezés hozzáadja az aktuális dátum és idő tizennégy és fél óra:

mysql> SELECT NOW (), DATE_ADD (MOST (), INTERVAL '14: 30 „HOUR_MINUTE);

Hasonlóképpen, akkor adjuk hozzá a 3 nap és 4 óra:

mysql> SELECT NOW (), DATE_ADD (NOW (), 'periódus március 4' DAY_HOUR);

DATE_ADD () és DATE_SUB () felcserélhetők, egyikük - ugyanaz, mint a másik pedig az ellenkező előjelű intervallumot.


Például két ilyen hívás ekvivalens bármelyik értéke d dátuma:

DATE_ADD (d, intervallum -3 hó)
DATE_SUB (d, INTERVAL 3 hónapos)

Mivel MySQL 3.23.4, fel lehet használni hozzá és kivonva dátumokat időközönként szereplők + és -:

mysql> SELECT CURDATE (), CURDATE () + INTERVAL 1 év;

mysql> SELECT NOW (), ma () - Interval 24 órát;

Ahhoz, hogy hozzá a dátum intervallum értéket vagy a dátum-és idő is lehetséges, hogy egy konverziós függvény a bázisállomás és vissza. Például, hogy az időpontot előbbre vagy hátra egy hét (hét nap), használja TO_DAYS () függvényt és FROM_DAYS ():

TO_DAYS () függvény képes átalakítani a hozzáadott érték DATETIME és TIMESTAMP a napokban, ami kényelmes, azok számára, akik nem kell az időt:

Annak érdekében, hogy a pontosság értékek DATETIME és TIMESTAMP használatra UNIX_TIMESTAMP () függvényt és FROM_UNIXTIME () helyett a korábban venni.


Értékének módosításához DATETIME egy óra (3600 másodperc) oda-vissza:

Megvalósítása az utolsó vétel szükséges, hogy az eredeti és a kapott érték a megengedett tartományon belül a TIMESTAMP (1970 valahol 2037) értékeket.