Дата обновления, добавляя в базе
Добрый день, ребята.
у меня есть в моей базе полей DATE 'дата начала' и 'дата окончания', чтобы я мог искать по интервалам. Когда я импортировал эти данные некоторые даты были пустые или inconformes и не были зарегистрированы должным образом.
Я хотел бы знать: могу ли я выбрать поля "дата окончания" моего банка и где он будет пустым, и сделать его равным 'дата начала' + 30(дней), делая по собственной mysql или я должен буду с помощью php?
Спасибо!
2 answers
Вы можете использовать UPDATE чтобы обновить поле даты окончания, при чем он имеет значение NULL.
Таким образом:
UPDATE minha_tabela
SET data_final = DATE_ADD(data_inicial ,INTERVAL 30 DAY)
WHERE data_final IS NULL;
Этого прямо в банк, без необходимости в приложении.
О роли DATE_ADD:
Https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-add
Да, Вы можете сделать прямой банком и без необходимости менять данные в вашей таблице.
Используйте функцию coalesce
. Она пытается получить значение левого выражения, и если он равен null, возвращается значение справа.
SELECT DATA_INICIAL, COALESCE(DATA_FINAL, DATE_ADD(DATA_INICIAL, INTERVAL 30 DAY))
FROM TABELA
WHERE CONDICAO