ПредишенСледващото

задача
Вие искате да добавите време до датата на стойност или стойност на дата и време.

решение
Използвайте DATE_ADD () и DATE_SUB (), специално предназначени за извършване на аритметични операции с дати. Можете да приложите също TO_DAYS () и FROM_DAYS () или UNIX_TIMESTAMP () и FROM_UNIXTIME ().

дискусия
Дата аритметика е малко по-сложно от това с течение на времето, което се дължи на променливите дължините на месеци и години. Ето защо, MySQL предлага специални функции DATE_ADD () и DATE_SUB (), за да добавите интервал с дати и изваждане от nih.1 функция може да отнеме вальор и г интервал в следния формат:

DATE_ADD (д, интервална стойност на един)
DATE_SUB (д, интервална стойност на един)

където устройството - интервал на измерване единица и стойност - експресията уточнява броя на такива единици. Най-често включват такива ТЕХНОЛОЗИТЕ единици като година, месец, ден, час, минута и секунда (пълния списък е даден в ръководството MySQL). Имайте предвид, че мерната единица не е уточнено в множествено число и единствено число.

С DATE_ADD () и DATE_SUB (), за да извършите следните аритметични операции:

• Определете датата, която е три дни след днес:

MySQL> SELECT CURDATE (), DATE_ADD (CURDATE (), интервалът 3 ден);

• Проверка на датите стъпкови преди седмица (на интервал седмица, заявка за търсене са на стойност 7 дни, тъй като няма единица СЕДМИЦА): MySQL> SELECT CURDATE (), DATE_SUB (CURDATE (), какъв интервал от 7 дни);

• Ако трябва да се научат и за датата и часа, започнете със стойност DATETIME или TIMESTAMP.


За да отговорим на въпроса: "Колко време ще бъде 60 часа", стартирайте тази заявка:

MySQL> SELECT ПРЕДПРИЯТИЕТО (), DATE_ADD (сега (), интервалът 60 час);

• Някои ТЕХНОЛОЗИТЕ интервали и да посочва датата и часа. Следната заявка добавя към текущата дата и час на час четиринадесет и половина:

MySQL> SELECT ПРЕДПРИЯТИЕТО (), DATE_ADD (сега (), интервалът '14: 30 'HOUR_MINUTE);

По същия начин, можете да добавите 3 дни и 4 часа:

MySQL> Изберете NOW (), DATE_ADD (NOW (), период "04 Март" DAY_HOUR);

DATE_ADD () и DATE_SUB () са взаимозаменяеми, като един от тях - същото като другата с противоположен знак интервал.


Например, два такива повиквания еквиваленти за всяка стойност на г дата:

DATE_ADD (д, ИНТЕРВАЛ -3 месец)
DATE_SUB (д, ИНТЕРВАЛ 3 месец)

Тъй като MySQL 3.23.4, може да се използва за добавяне и изваждане дати интервали оператори + и -:

MySQL> SELECT CURDATE (), CURDATE () + ИНТЕРВАЛ 1 година;

MySQL> SELECT NOW (), сега () - ИНТЕРВАЛ 24 час;

За добавяне на интервална стойност датата или дата-и време също е възможно да се използва функция превръщане в блоковия елемент и гърба. Например, за да се премести датата напред или назад от една седмица (седем дни), използвайте TO_DAYS () и FROM_DAYS ():

TO_DAYS () функция е в състояние да конвертирате добавена стойност за дата и датата и часа на в дните, което е удобно за тези, които не се нуждаят от време:

За да се гарантира точността на използването на стойности DATETIME и TIMESTAMP UNIX_TIMESTAMP () функция и FROM_UNIXTIME () вместо предварително взети предвид.


Променете стойността на DATETIME за един час (3600 секунди), напред и назад:

За изпълнение на последния прием е необходимо оригинала и получената стойност попада в допустимия диапазон за датата и часа (1970 някъде в 2037) стойности.

Подкрепете проекта - споделете линка, благодаря!