Как отфильтровать таблицу по T_SQL в SQL Server 2005, используя определенное время для столбца типа данных «DateTime» - PullRequest
1 голос
/ 18 февраля 2010

Как отфильтровать таблицу по T_SQL в SQL Server 2005, используя определенное время для столбца типа данных «DateTime»?

Спасибо

1 Ответ

3 голосов
/ 18 февраля 2010

Например, чтобы найти все записи со временем (независимо от даты) между 9:00 и 11:00, вы можете сделать это:

SELECT * 
FROM YourTable 
WHERE CONVERT(VARCHAR(5), DateField, 114) BETWEEN '09:00' AND '11:00'

Однако производительность вряд ли будет хорошей, так как любой индекс на DateField не будет использоваться. Если вы собираетесь выполнять частую фильтрацию элемента времени, я бы рекомендовал хранить время отдельно от части даты. Это сделало бы запросы намного более оптимальными.

В SQL Server 2008 на самом деле существует тип данных TIME , поэтому, если в какой-то момент вы движетесь к 2008 году, то подход к отдельным полям еще более важен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...