Проблем:
Искате да добавите дни към дата в база данни на MySQL.
Пример:
Нашата база данни има таблица с име trip с данни в колоните id , city и start_date .
| id | град | начална_дата |
|---|---|---|
| 1 | Чикаго | 22.06.2019 |
| 2 | Хюстън | 15.07.2019 |
| 3 | Далас | 30.08.2019 |
| 4 | Остин | 23.09.2019 |
Нека добавим два дни към началните дати и ще получим градовете за пътуване с новите начални дати.
Решение:
Ще използваме DATE_ADD() функция. Ето заявката, която бихте написали:
SELECT city,
DATE_ADD(start_date, INTERVAL 2 DAY)
AS later_date
FROM trip;
Ето резултата от заявката:
| град | начална_дата |
|---|---|
| Чикаго | 24.06.2019 |
| Хюстън | 17.07.2019 |
| Далас | 01.09.2019 |
| Остин | 25.09.2019 |
Дискусия:
Използвайте DATE_ADD() функция, ако искате да увеличите дадена дата в MySQL база данни. В нашия пример увеличихме всяка начална дата с два дни.
Тази функция приема два аргумента. Първият аргумент е датата или датата и часа, които искате да промените. Този аргумент може да бъде името на колона дата/дата и час или израз, връщащ стойност за дата/дата и час. В нашия пример използвахме start_date колона, която е от типа данни за дата.
Вторият аргумент е операторът INTERVAL, последван от цяло число, указващо броя на единиците (в нашия пример 2) и единицата дата/час за добавяне (в нашия пример DAY). Можете да намерите повече за интервалните единици в секцията Interval Expression и Unit Arguments в документацията на MySQL.
DATE_ADD() връща нова стойност за дата или дата и час. В нашия пример е пътуването до Хюстън има нова начална дата:„2019-07-17“.