I need to find the minute bin & hour bin for each datetime variable similar to below table.
DATETIME , 5MinBin, 10 MinBin, Hourbin
2017-02-16 08:56:12.000 , 55 , 50 , 08
2017-02-16 16:42:12.000 , 40 , 40 , 16
However i coudn't find a way yet. Great if someone can help.
CREATE TABLE [TEST].[dbo].[dt1]
([Time] DATETIME, Location NVARCHAR(50), [Value] FLOAT)
INSERT INTO [TEST].[dbo].[dt1] VALUES
('2017-02-16 08:56:12.000','Test1',10),
('2017-02-16 08:59:12.000','Test2',20),
('2017-02-16 09:01:12.000','Test3',30),
('2017-02-16 09:11:12.000','Test4',40),
('2017-02-17 08:56:12.000','Test5',50),
('2017-02-17 08:59:12.000','Test6',60),
('2017-02-17 09:01:12.000','Test7',70),
('2017-02-17 09:11:12.000','Test8',80)
SELECT DATETIME, (DATEPART(MINUTE, [TIME]) % 5) as '5MinBin',
(DATEPART(MINUTE, [TIME]) % 10) as '10MinBin',
(DATEPART(HOUR, [TIME])) as 'HourBin'
FROM [TEST].[dbo].[dt1]
Result i'm getting
DATETIME , 5MinBin, 10 MinBin, Hourbin
2017-02-16 08:56:12.000 , 1 , 6 , 08
2017-02-16 16:42:12.000 , 2 , 5 , 16
Above Datepart() doesnot result my intention. Hope someone will help me on this,
Thanks.