Что такое тип данных на 10:00 по тихоокеанскому времени в SQL Server? - PullRequest
3 голосов
/ 11 мая 2010

У меня есть таблица, в которой нужно хранить Временной интервал , такой как 10:00 AM PST, 10:15 AM PST .... и т. Д. С постоянным интервалом 15 мин. .

Мне интересно, есть ли какой-либо тип данных Time, доступный для такого рода данных?

Мне нужно хранить их как 11:00 по тихоокеанскому времени, 11:15 по тихоокеанскому времени, 11:30 по тихоокеанскому времени, 23:45 по тихоокеанскому времени, 12:00 по тихоокеанскому времени, 12:15 по тихоокеанскому времени, 12:30 по тихоокеанскому времени, 12:45 по тихоокеанскому времени, 13:00 по тихоокеанскому времени и т. Д.

Кроме того, в будущем, если деловые требования рассчитаны на 20-минутный интервал, я смогу легко их изменить.

Спасибо

Ответы [ 3 ]

3 голосов
/ 11 мая 2010

Существует тип данных time, который можно использовать (SQL Server 2008).

CREATE TABLE Table1 ( Column1 time(7) )

Диапазон:

00: 00: 00.0000000 - 23: 59: 59.9999999

Вы можете использовать CHECK CONSTRAINT, чтобы гарантировать, что часть минут является одной из (0, 15, 30, 45).

3 голосов
/ 11 мая 2010

Вы можете использовать тип данных Time.

Если это для вас излишне, поскольку вам нужно только сохранить интервал на уровне минут, вы можете хранить минуты с полуночи в диапазоне 0-1339.

Вы можете даже подумать о сохранении количества 15-минутных интервалов с полуночи, например, 2:00 AM равно 8, а 2:15 AM равно 9 (хотя, если вы не можете придумать подходящее название для такого столбца, это было бы не очень понятно).

1 голос
/ 11 мая 2010

Если вы хотите ограничить интервалы от time до 15 минут, самый простой способ сделать это - просто сохранить его в int с ограничением 0-100 (в некоторые дни перехода на летнее время по 25 часов)и подсчитайте, когда будет точное время, если вам это нужно.Я работал над несколькими крупными приложениями, которые использовали это для таких вещей, как данные прогноза погоды, и это работало довольно хорошо.

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