2010-11-21 120 views
0

使用vs2008我有一個SQL Server數據庫連接到我的Web應用程序。我想在數據庫中使用一個計算時間列,沿着線:SQL Server中的計算時間列

  • timenow是1列
  • hoursleft是另一列
  • timeend將另一列。

我想要timeend to = timenow + hoursleft。

是否有可能做到這一點,如果是這樣的話,我會輸入到計算列字段中的公式是什麼,以及列將是什麼樣的數據類型,timenow和timeend我希望是時間(7)和小時左右一個整數。但這是正確的嗎?謝謝你的幫助。

+1

SQL Server的**版本**? SQL Server 2008引入了像TIME這樣的新數據類型,這對於這種情況來說是完美的 – 2010-11-21 13:34:56

回答

0
  • TimeNow是數據類型的日期時間,填充有功能GetUtcDate()
  • HoursLeft是一個int,根據需要填充。
  • TimeEnd是計算爲DateAdd(hh,HoursLeft,TimeNow)的日期時間類型的計算列。
0

你會用它來計算從2分現有列timeend hoursleft和timenow

CAST(DATEADD(hour, hoursleft, timenow) AS time(7)) 

DATEADD返回類型爲

返回數據類型是日期的說法

的數據類型

因此,如果timenow是時間(7),則可能不需要顯式CAST,正如您提到的那樣

DATEADD(hour, hoursleft, timenow)