2010-01-30 2 views
1

У меня есть приложение WPF, в котором одно из полей имеет числовое поле ввода для длительности телефонного звонка, называемое ActivityDuration.Сохранение информации о времени на SQL Server

Ранее это было сохранено как целочисленное значение, которое представляет минуты. Тем не менее, клиент теперь хочет записывать собрания, используя одну и ту же таблицу, но встречи могут длиться 4-5 часов, поэтому ввод 240 минут не кажется очень удобным для пользователя.

В настоящее время я рассматриваю свои варианты, чтобы изменить значение ActivityDuration на значение времени в SQL 2008 и попытаться использовать поле ввода временной маски или сохранить его как целое число и представить клиенту два числовых поля ввода, один в течение нескольких часов и один в течение нескольких минут, а затем выполните расчет, чтобы сохранить его в SQL Server 2008 как целые минуты.

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

ответ

0

Новое время тип данных поддерживает только 24 часа, так что если вам нужно больше, вы должны будете использовать DateTime. Итак, если сумма 7 x 4-часовых встреч, вы получите «4 часа» назад

Как хранит БД, это также отличается от того, как вы представляете и захватываете данные.

Почему бы не отобразить и преобразовать тип hn: nn в клиент и сохранить как дату?

0

Отслеживайте время начала и окончания, не нужно замаскировать дату, так как продолжительность будет всего лишь вычислением двух дат. Вы даже можете сделать это в «сеансах», чтобы одно собрание могло иметь несколько сеансов (т. Е. Одно собрание, которое проходит через обед, что не следует учитывать в отношении продолжительности ...).

Тип данных, то есть либо datetime, либо smalldatetime.

Тогда, чтобы получить «общую продолжительность» это просто запрос с использованием

Select sum(datediff(mm, startdate, enddate)) from table where meetingID = 1 
+0

Привет, Роб, спасибо за предложение. К сожалению, мой клиент хочет только ввести время начала и продолжительность. Они хотят установить длительность определенных действий, поэтому стандартный телефонный звонок составляет 10 минут, стандартная встреча - 45 минут. Это не всегда основано на реальном времени, поэтому они не хотят окончания времени – Mitch

Смежные вопросы