Как сравнить по времени в таблицах, отбросив минуты и секунды до часов?

Для сравнения времени в таблицах, отбросив минуты и секунды до часов, можно воспользоваться функцией DATEPART в сочетании с функцией CONVERT. В зависимости от используемой СУБД, синтаксис и названия функций могут незначительно отличаться. Ниже приведены общие примеры для некоторых известных СУБД:

1. Microsoft SQL Server:

SELECT *
FROM your_table
WHERE DATEPART(HOUR, CONVERT(DATETIME, your_column)) = DATEPART(HOUR, CONVERT(DATETIME, another_column))

В этом примере your_table - название таблицы, в которой хранится время, your_column и another_column - названия столбцов таблицы, содержащие время.

2. MySQL:

SELECT *
FROM your_table
WHERE HOUR(your_column) = HOUR(another_column)

Аналогично, здесь your_table, your_column и another_column - названия таблицы и столбцов, содержащих время.

3. PostgreSQL:

SELECT *
FROM your_table
WHERE EXTRACT(HOUR FROM your_column) = EXTRACT(HOUR FROM another_column)

В данном случае your_table, your_column и another_column - названия таблицы и столбцов, содержащих время.

Обратите внимание, что в этих примерах предполагается, что столбцы your_column и another_column имеют тип данных DATETIME или эквивалентный ему тип данных, содержащий дату и время. Если тип данных отличается, возможно потребуется провести преобразование в соответствующий формат перед применением функций DATEPART, HOUR, CONVERT или EXTRACT.

В результате выполнения такого запроса будут возвращены все записи, где время в указанных столбцах равно, отбросив минуты и секунды до часов.