Проблем:
Искате да добавите дни към дата в база данни на 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“.