Удалить запись со временем

#sql #sql-server

#sql #sql-сервер

Вопрос:

Я изо всех сил пытаюсь удалить запись в моей таблице каждые 3 секунды. Как только я ввел все данные, система должна иметь возможность удалять все записи, которые происходят через 3 секунды после первого ввода. Я попробовал этот код, но он не сработал хорошо.

 delete from table_8
where datediff(second,Date_Time,Getdate()) < 3 
  

Комментарии:

1. mssql, я полагаю?

2. какой драйвер sql вы используете? mssql, mysql, postgre? Если вы используете mysql, то вам нужно указать и предложение INTERVAL, которое определяет, на какой шкале находится 3, здесь действительно расплывчато, это 3 минуты, секунды, часы, дни, годы … или что?

3. Microsoft SQL server 2014 Management studio

Ответ №1:

Я думаю, ваша проблема в том, что некоторые значения могут быть отрицательными. Я думаю, что это понятнее:

 delete
    from table_8
    where date_time < dateadd(second, -3, getdate());
  

Это также может использовать индекс на table_8(date_time) для повышения производительности.