mysql: проверить, если интервал между двумя датами меньше 1 секунды - PullRequest
1 голос
/ 24 марта 2010

Хорошо, мне нужно что-то вроде этого:

datediff(second, date_one, date_two) < 1

даты хранятся в столбце типа «дата-время»

UPDATE

Я хочу найти даты, которые отличаются менее чем на несколько (скажем, 10) секунд

Ответы [ 2 ]

5 голосов
/ 24 марта 2010

Секунда - самая маленькая единица в полях DATETIME. Если вы хотите проверить, что разница меньше 1 секунды, это означает, что две даты должны быть одинаковыми, и в этом случае вы можете просто использовать оператор эквивалентности.

Чтобы проверить разницу во времени, используя более крупные единицы измерения, вы можете использовать TIMEDIFF с TIME_TO_SEC. Например, чтобы проверить, находятся ли две даты между 10 секундами друг от друга

ABS(TIME_TO_SEC(TIMEDIFF(datetime1, datetime2))) < 10
0 голосов
/ 18 мая 2017

ABS(TIMESTAMPDIFF(SECOND, datetime1, datetime2)) < 10

Это позволяет легко менять единицы измерения, и теперь можно проводить такие сравнения, используя MICROSECOND.

...