Sql server 小时销售报告
大家早上好。 我再次需要你的帮助。 我正在做一份销售报告,但是我不能得到我想要的结果 我的代码是:Sql server 小时销售报告,sql-server,visual-studio-2010,Sql Server,Visual Studio 2010,大家早上好。 我再次需要你的帮助。 我正在做一份销售报告,但是我不能得到我想要的结果 我的代码是: Select Cast(TIME As Varchar(100))+ '-' + CAST(DATEADD( MINUTE, 59, TIME)As varchar(100)) As TIME, SUM (TOTAL) as HOURLY_SALES From tblSales Where Mall = 'Mall1' and ORDATE = '6/2/2014' and VOID = '
Select Cast(TIME As Varchar(100))+ '-' + CAST(DATEADD( MINUTE, 59, TIME)As varchar(100)) As TIME, SUM (TOTAL) as HOURLY_SALES
From tblSales
Where Mall = 'Mall1' and ORDATE = '6/2/2014' and VOID = 'N'
Group By OTIME
它给了我这个输出:
Time HOURLY_SALES
12:00-Jan 1 1900 12:59PM 295.00
13:00-Jan 1 1900 1:59PM 2122.86
14:00-Jan 1 1900 2:59PM 2230.00
15:00-Jan 1 1900 3:59PM 1800.00
16:00-Jan 1 1900 4:59PM 3090.00
17:00-Jan 1 1900 5:59PM 880.00
18:00-Jan 1 1900 6:59PM 652.86
19:00-Jan 1 1900 7:59PM 1890.00
20:00-Jan 1 1900 8:59PM 2272.86
21:00-Jan 1 1900 9:59PM 520.00
我不知道日期是从哪里来的。
请帮我删除日期
输出应如下所示:
Time HOURLY_SALES
12:00- 12:59PM 295.00
13:00- 1:59PM 2122.86
14:00- 2:59PM 2230.00
15:00- 3:59PM 1800.00
16:00- 4:59PM 3090.00
17:00- 5:59PM 880.00
18:00- 6:59PM 652.86
19:00- 7:59PM 1890.00
20:00- 8:59PM 2272.86
21:00- 9:59PM 520.00
我正在使用visual studio 2010和ms sql server 2008
希望你能帮助我。
非常感谢。换成这个怎么样
select (cast(datepart(hour, [time]) as varchar(255)) + ':00 -' +
cast(datepart(hour, [time]) as varchar(255)) + ':59'
) as [time],
SUM (TOTAL) as HOURLY_SALES
From tblSales
Where Mall = 'Mall1' and ORDATE = '6/2/2014' and VOID = 'N'
Group By cast(datepart(hour, [time]) AS VARCHAR(255));
sql server中的DATETIME表示为一个浮点值,其中包含日期和时间,表示从一个历元开始的毫秒数。浮动的一部分表示日期,另一部分表示时间。您的时间列似乎是DATETIME类型。我的列类型应该是什么?对不起,我是新手。感谢您的列类型不是问题所在。看起来数据是用MINDATE存储的,以指示null,这意味着应该忽略或不使用日期。您可能只需要解析时间段,并将日期部分设置为当前日期的午夜或前一日期的午夜1秒(或将时间部分转换为字符串)。我建议您在sql server中查找日期和时间解析…您可以找到大量的示例。非常感谢。戈登·林诺夫爵士和亚伦·伯特朗爵士。:)你的代码给了我正确的输出。