我寫了一個存儲過程,它接受一個引用日期,併爲此元素添加一個小時。數據操作
這裏是我行所做的操作:
DATEADD(day, DATEDIFF(DAY, 0, @conductor_date), [HOUR])
例如,蒙山@conductor_date = '2015-10-15'
和[HOUR] = 23:00
它的工作原理,並生成我這樣一個日期:'2015-10-15:23:00:00'
我面對一個邏輯問題,當值[實際上,要解決我的問題,我需要生成'2015-10-16:00:40:00'
當[HOUR] = 24:40
Actualy與這個值,我面臨的邏輯下面的例外on:
將varchar數據類型轉換爲日期時間數據類型導致 超出範圍值。
綜上所述,我需要的時間是比'23更多的照顧:59' ,並切換到第二天:
DECLARE @conductor_date datetime
DECLARE @hour varchar(5)
SET @conductor_date = '2015-10-15'
SET @hour = '24:40'
SELECT DATEADD(day, DATEDIFF(DAY, 0, @conductor_date), @hour)
預計:2015-10-16:00:40:00
選擇DATEADD(HOUR,23,GETDATE())爲於TIME_ADDED, GETDATE()作爲curr_date – mohan111
您可以編輯你的信息我的例子嗎? –
是固定在'varchar(5)'的小時類型嗎? – flo