Это может быть просто, но мой мозг растаял после долгого дня безостановочного кодирования, и у меня быстро кончается бумага ...
Я пытаюсь вычислить формулу годового срока действия для вычисления в хранимой процедуре.
Упрощенная таблица:
Security_Table
-----------------
User_ID [int]
Join_Date [DateTime]
Expired [VARCHAR]
Таким образом, если пользователь, присоединившийся к 2010-01-11, Expired
обновится до "TRUE"
сегодня, то же самое относится и к тем, кто присоединился к 2009-01-11, так как это повторяющийся срок действия.
Я выполняю процедуру ежедневно, выполняя запланированные задания. Будет ли достаточно сравнить день и месяц? Очевидно, что для високосного года.
UPDATE Security_Table SET Expired = 'TRUE' WHERE DATE_FORMAT(Join_Date,'%m-%d') = DATE_FORMAT(NOW(),'%m-%d')
Спасибо, ребята.