Запрос определенного временного диапазона в SQL Server

Я пытаюсь запросить определенный диапазон времени:

  • т.е. 3/1/2009 – 3/31/2009
  • между 6 AM-10PM каждый день
  • Вт / ср / Чт

Я видел, что вы можете получить данные для определенного диапазона, но только для начала и конца, и это довольно немного более конкретно. Я не видел никаких команд SQL Server, которые напрямую помогли бы мне в этом, так и у кого-нибудь еще есть мысли о том, как вы это сформировали?

Я видел это , но я не думаю, что он достаточно специфичен для этого диапазона.

Благодаря!

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

SELECT * FROM MyTable WHERE [dateColumn] > '3/1/2009' AND [dateColumn] <= DATEADD(day,1,'3/31/2009') --make it inclusive for a datetime type AND DATEPART(hh,[dateColumn]) >= 6 AND DATEPART(hh,[dateColumn]) <= 22 -- gets the hour of the day from the datetime AND DATEPART(dw,[dateColumn]) >= 3 AND DATEPART(dw,[dateColumn]) <= 5 -- gets the day of the week from the datetime 

Надеюсь это поможет.

вы можете попробовать это (у меня нет sql-сервера здесь сегодня, поэтому я не могу проверить синтаксис, извините)

 select attributeName from tableName where CONVERT(varchar,attributeName,101) BETWEEN '03/01/2009' AND '03/31/2009' and CONVERT(varchar, attributeName,108) BETWEEN '06:00:00' AND '22:00:00' and DATEPART(day,attributeName) BETWEEN 2 AND 4 
 select * from table where (dtColumn between #3/1/2009# and #3/31/2009#) and (hour(dtColumn) between 6 and 22) and (weekday(dtColumn, 1) between 2 and 4) 

Я (используя PostgrSQL на PGadmin4) запрашивал результаты, которые появляются после или 21 ноября 2017 года в полдень, например (учитывая формат отображения часов в моей базе данных):

 select * from Table1 where FIELD >='2017-11-21 12:00:00' 
  • SQL Server: как разрешить схемы?
  • Как сравнить две даты, чтобы найти разницу во времени в SQL Server 2005, манипуляции с датами
  • Недостатки MARS (несколько активных наборов результатов)?
  • Преимущества SQL Server 2008 над SQL Server 2005?
  • Могу ли я использовать оператор MERGE в SQL Server 2005?
  • Возможно ли установить Microsoft SQL Server 2005 на Windows 7?
  • Создайте дату с дневного месяца и года с помощью T-SQL
  • Преобразование полей datetime SQL-сервера для сравнения только деталей даты, с индексированным поиском
  • «Адаптивный сервер недоступен или не существует» ошибка подключения к SQL Server с PHP
  • .NET Entity Framework и транзакции
  • Как переместить файлы в папку архива после того, как файлы были обработаны?
  • Давайте будем гением компьютера.