0
我需要一天的時間字符串值
「23:59:59」的工作,但會導致延遲
「24:00:00」是行不通的字符串值:錯誤將數據類型varchar轉換爲datetime。
「1.00:00:00」不工作:將數據類型varchar轉換爲datetime時出錯。
這裏是我的代碼:
PROCEDURE [dbo].[Procedure1]
@Start datetime,
@Finish datetime,
@TimeRange datetime
AS
BEGIN
SET NOCOUNT ON;
declare @TimeRanges as TABLE (SessionStart datetime, SessionEnd datetime);
with TimeRanges as (
select @Start as StartTime, @Start + @TimeRange as EndTime
union all
select StartTime + @TimeRange, EndTime + @TimeRange
from TimeRanges
where EndTime < @Finish)
select StartTime, EndTime, Count(Test.ScenarioID) as TotalPeaks
from TimeRanges as TR left outer join
dbo.Test as Test on TR.StartTime <= Test.SessionStartTime and Test.SessionCloseTime < TR.EndTime
group by TR.StartTime, TR.EndTime
END
你爲什麼不使用DATEADD添加TIMERANGE? – Chris
我將時間範圍劃分爲特定時間,例如@TimeRange = 00:05:00.000,然後代碼將其分成5分鐘,並且工作正常,但是當我想要每日報告時,我需要使用「24:00:00.000」或類似「1.00:00:00.000」這意味着1天 – cihata87