Мне нужно выбрать все записи из моей базы данных SQL Server, которые находятся в промежутке между определенным часом. Позвольте привести пример:
Текущее время - 9:33, и в базе данных имеется множество записей Программы, в которых есть ProgramStart и ProgramEnd. Примером дат может быть:
| ProgramStart | ProgramEnd | ClientID |
+--------------------------+-------------------------+----------+
| 1900-01-01 09:00:00.000 | 1900-01-01 10:00:00.000 | 5 |
+--------------------------+-------------------------+----------+
| 1900-01-01 11:00:00.000 | 1900-01-01 13:00:00.000 | 4 |
+--------------------------+-------------------------+----------+
| 1900-01-01 12:00:00.000 | 1900-01-01 14:00:00.000 | 5 |
+--------------------------+-------------------------+----------+
| 1900-01-01 11:00:00.000 | 1900-01-01 13:00:00.000 | 6 |
+--------------------------+-------------------------+----------+
| 1900-01-01 16:00:00.000 | 1900-01-01 17:00:00.000 | 7 |
+--------------------------+-------------------------+----------+
| 1900-01-01 16:00:00.000 | 1900-01-01 17:00:00.000 | 5 |
+--------------------------+-------------------------+----------+
| 1900-01-01 17:00:00.000 | 1900-01-01 18:00:00.000 | 4 |
+--------------------------+-------------------------+----------+
Я хочу извлечь все записи для клиента 5 и между текущим временем, которое 9:33 утра
.
Как это сделать с помощью SQL. Я пробовал это, но это не работает:
SELECT CAST('1900-01-01 09:33:00.000' AS datetime) AS TimeNow, * FROM Programs
WHERE ClientID = 5
AND TimeNow BETWEEN '1900-01-01 09:00:00.000' AND '1900-01-01 10:00:00.000'
любые предложения будут с благодарностью.
Большое спасибо,
Пол