To wyrażenie MySql zwróci wartości DATETIME z wyzerowanymi sekundami.
CONVERT(DATA_FORMAT(tabela.kolumna;'%Y-%m-%d-%H:%i:00');DATAGODZINA)
Popatrz na to. https://dev .mysql.com/doc/refman/8.0/en/data-i-czas-funkcje.html#function_date-format . Możesz więc otrzymać takie zapytanie:
Ale bądź ostrożny. Automatycznie generowane znaczniki czasu są trochę jak liczby zmiennoprzecinkowe; kiedy dwoje z nich staje się sobie równych, to tylko szczęście. Skrócenie swoich znaczników czasu do minuty może być w porządku, ale lepiej będzie odjąć jeden znacznik czasu od drugiego i porównać różnice (lub wartości bezwzględne różnic).
Poza tym to łączenie będzie powolne, ponieważ musi uruchamiać drugą funkcję obcinania dla każdej wartości, więc nie może używać żadnych indeksów.
Możesz odjąć jeden znacznik czasu od drugiego za pomocą TIMESTAMPDIFF()
. Ale bądź ostrożny. Ta funkcja działa poprawnie tylko na poziomie sekund dla znaczników czasu w odstępie kilku dni; przelewa się bez wdzięku (jak odkryłem z wielkim bólem).
Możesz spróbować skrócić sygnatury czasowe do minut w momencie ich wstawiania. To pozwoliłoby Ci je zindeksować.