在表中,我有一列(AvgWaitTime),它以秒爲單位存儲數據值(數據類型:float),明智的。我有一個函數使用AvgWaitTime列和其他幾列執行一些計算,並以時間格式返回一個值。我想將函數返回的值(時間格式)轉換爲秒(最好是小數,如果不是則爲int)。操作數類型衝突:時間與int不兼容
select
(datepart(HH, dbo.fnGetMonthlyAverageWaitTime(m.RDate) * 60 * 60) +
datepart(mi, dbo.fnGetMonthlyAverageWaitTime(m.RDate) * 60) +
datepart(s, dbo.fnGetMonthlyAverageWaitTime(m.RDate)))[MonthlyAverageWaitTime]
from TelephonyMTD m
Error: Operand type clash: time is incompatible with int
所以,我試圖運行這個命令:
select
(datepart(HH, GetDate() * 60 * 60) +
datepart(mi, GetDate() * 60) +
datepart(s, GetDate()))
現在它說,從數據類型的datetime隱式轉換爲int是不允許的。使用CONVERT函數來運行此查詢。當我查看數據類型轉換圖表時,這是真的,我知道現在允許轉換爲int和float。
請指教。
'GETDATE()* 60',可能是你意思是...... GetDate())* 60'? –
擺脫函數也可能是一個好主意,將其更改爲內聯表值函數,或者如果這不起作用,至少每行調用它一次。 –