Дата обновления, добавляя в базе


Добрый день, ребята.

у меня есть в моей базе полей DATE 'дата начала' и 'дата окончания', чтобы я мог искать по интервалам. Когда я импортировал эти данные некоторые даты были пустые или inconformes и не были зарегистрированы должным образом.

Я хотел бы знать: могу ли я выбрать поля "дата окончания" моего банка и где он будет пустым, и сделать его равным 'дата начала' + 30(дней), делая по собственной mysql или я должен буду с помощью php?

Спасибо!

Author: Chiwyrow Cortin, 2016-06-14

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

 3
Author: Emerson JS, 2016-06-14 13:04:36

Да, Вы можете сделать прямой банком и без необходимости менять данные в вашей таблице.

Используйте функцию coalesce. Она пытается получить значение левого выражения, и если он равен null, возвращается значение справа.

SELECT DATA_INICIAL, COALESCE(DATA_FINAL, DATE_ADD(DATA_INICIAL, INTERVAL 30 DAY))
FROM TABELA
WHERE CONDICAO

Документации coalesce

 0
Author: , 2016-06-14 11:35:10