У меня есть EmailID_tbl, у которого есть адрес электронной почты пользователей, у меня есть запрос «удалить электронные письма с EmailID_tbl, если последняя дата входа для пользователь находится в течение последних 4 месяцев ».Мне нужен запрос для удаления значения в таблице, если значение старше 4 месяцев, пожалуйста, просмотрите детали.
ответ
Если предположить, что они находятся в той же таблице, вы могли бы просто использовать ИНЕКЕ, чтобы определить, что должно быть удалено с помощью функции DATEADD()
вычесть соответствующее количество месяцев от GETDATE()
, которая позволила бы получить текущую дату:
-- This would delete every record in your table with LastLoginDates
DELETE
FROM EmailID_tbl
WHERE LastLoginDate < DATEADD(month,-4,GETDATE())
Я думаю, вы хотите использовать GETDATE. СЕЙЧАС не является функцией t-sql. –
Да, это так. Путайте немного MySQL с SQL Server. –
Вот запрос, который будет делать это:
DELETE
FROM EmailID_tbl
WHERE LastLoginDate <= DATEADD(mm, -4, GETDATE())
Изменение LastLoginDate
на фактическое имя в вашей таблице, которая указывает на дату последнего входа в систему, и изменить <=
- >=
, если вы действительно хотите удалить более активных пользователей, а не более неактивных пользователей.
Какие детали вы можете посмотреть? – flyingmeatball
Должен ли этот запрос сказать «удалить электронную почту с EmailID_tbl, если последняя дата входа для пользователя старше 4 месяцев»? Как бы то ни было, это указывает на то, что вы оставите пользователей, которые не вошли в систему, но вы удалите активных пользователей – quest4truth
У меня есть EmailID_tbl, у которого есть адрес электронной почты пользователей, у меня есть запрос «удалить электронные письма с EmailID_tbl, если последняя дата входа для пользователя в течение последних 4 месяцев ». как удалить электронные письма, которые старше 4 месяцев в EmailID_tbl? –