Хранение значений времени в базе данных и получение разницы между двумя полями времени - PullRequest
2 голосов
/ 01 июля 2010

Я работаю над приложением, которое хранит значения времени в базе данных, например, ожидаемое время прибытия и фактическое время прибытия. Каков наилучший способ хранения этих полей в базе данных?

Какой запрос SQL можно использовать для получения разницы во времени между двумя полями?

1 Ответ

2 голосов
/ 01 июля 2010

Если вы используете SQL Server 2008, используйте тип данных TIME. Объявите эти два поля

ExpectedTimeOfArrival TIME(7),
ActualTimeOfArrival TIME(7)

Читайте о том, как управлять типом данных TIME здесь .

Когда у вас есть эти два поля, вы можете добавить вычисляемый столбец в вашу таблицу, который вычисляет разницу между этими двумя полями, например, в минутах:

ALTER TABLE dbo.YourTable
   ADD TimeDifference AS DATEDIFF(MINUTE, ActualTimeOfArrival, ExpectedTimeOfArrival)

и затем вы можете запросить этот новый столбец TimeDifference, как если бы это был обычный, обычный столбец таблицы.

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