2010-01-30 50 views
1

我有一個WPF應用程序,其中一個字段有一個電話呼叫長度的數字輸入框,稱爲ActivityDuration。保存持續時間信息到SQL Server

此前,這已被保存爲一個Integer值,它代表了分鐘。然而,客戶現在希望使用同一張桌子來記錄會議,但會議可以持續4-5小時,因此輸入240分鐘似乎不太方便用戶。

我目前正在考慮我的選項,是否將SQLDESTDuration更改爲SQL 2008中的時間值,並嘗試使用時間掩碼輸入框,或將其保留爲整數,並向客戶端顯示2個數字輸入框,一個幾小時,一分鐘,然後進行計算,將其作爲整數分鐘保存在SQL Server 2008中。

我願意接受意見和建議。還有一點需要考慮的是,我需要能夠根據ActivityDuration計算總時間,因此字段DataType應該允許將它總結起來非常簡單。

回答

0

新的數據類型時只支持24小時的查詢,所以如果你需要更多的,你將不得不使用日期時間。 因此,如果總計7 x 4小時的會議,你會得到「4小時」回來

DB如何存儲它也是如何呈現和捕獲數據不同。

爲什麼不...... hh:nn在客戶端顯示並轉換並存儲爲日期時間?

0

跟蹤開始和結束時間,不需要屏蔽日期,因爲持續時間只是兩個日期之間的計算。您甚至可以在「會議」中這樣做,以便一次會議可以進行多次會議(即,一次會議涵蓋午餐時間,不應計入持續時間......)。

數據類型是datetime或smalldatetime。

然後獲得「總持續時間」,它只是用

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

嗨羅布,感謝您的建議。不幸的是,我的客戶只想輸入開始時間和持續時間。他們希望爲某些活動設定持續時間,因此標準電話爲10分鐘,標準會議爲45分鐘。它並不總是基於實時,這就是爲什麼他們不想要結束時間 – Mitch 2010-01-30 19:10:58

相關問題