本人有一订单表tb_OrderInfo,表中有一个下单时间字段OrderDate,类型为datetime,字段GoodsFee为销售额。我想统计当年,当月,当日的订单销售。
当年,当月,当日均用DateTime.Now来获得。比如年:string year = DateTime.Now.Year.ToString();问题是我怎么关联到
SQL语句中,是不是这样:select SUM(GoodsFee) from tb_OrderInfo where OrderDate Like '%" + year + "%';
当月,当日又怎么关联?请指教?
当年,当月,当日均用DateTime.Now来获得。比如年:string year = DateTime.Now.Year.ToString();问题是我怎么关联到
SQL语句中,是不是这样:select SUM(GoodsFee) from tb_OrderInfo where OrderDate Like '%" + year + "%';
当月,当日又怎么关联?请指教?
解决方案 »
- 【求助】.net 发布问题
- .net中对集合类型数据orderby()问题
- label1.innerHtml=str, str是从数据库中取出来的html字符串,为什么显示时解释不了html字符串,还包括像<p>,<br>等标记
- 为什么报DOCUMENT.FORM1不能为空或不是对象
- 在后台怎么写添加表格内容的代码?
- 获取checkbox 多选的集合
- 请高手看看我这个代码有什么问题
- 有谁做过自定义控件的安装程序?
- 传智博客ASP.net里面配置的ckeditor和ckfinder哪里可以下载到?
- 大家帮忙,急啊!!!!!!!!!!!!!!!!
- 由于数据表 '表名' 需要一个相关记录,不能添加或修改记录。
- select查询问题 (charindex)
当月:select sum(GoodsFee) from tb_OrderInfo where datediff(m,OrderDate,getdate())=0
当日:select sum(GoodsFee) from tb_OrderInfo where datediff(d,OrderDate,getdate())=0
--當年
select SUM(GoodsFee) from tb_OrderInfo where datepart(yy, OrderDate )=datepart(yy,getdate())
--當月
select SUM(GoodsFee) from tb_OrderInfo where datepart(mm, OrderDate )=datepart(mm,getdate())--當天
select SUM(GoodsFee) from tb_OrderInfo where datepart(dd, OrderDate )=datepart(dd,getdate())
create table tb_OrderInfo
(
ids int identity(1,1),
OrderDate datetime,
GoodsFee decimal(18,2)
)insert into tb_OrderInfo
select '2009-4-5',32.00
union all
select '2009-4-6',39.00
union all
select '2009-2-6',31.00
union all
select '2009-2-6',32.00
union all
select '2009-2-6',33.00
union all
select '2008-2-6',34.00
union all
select '2008-3-6',35.00select * from tb_OrderInfoselect distinct
[当年] = (select sum(goodsfee) from tb_OrderInfo where year(orderdate) = year(getdate())),
[当月] = (select sum(goodsfee) from tb_OrderInfo where convert(varchar(7),orderdate,120) =convert(varchar(7),getdate(),120) ),
[当日] = (select sum(goodsfee) from tb_OrderInfo where convert(varchar(10),orderdate,120) = convert(varchar(10),getdate(),120))from tb_OrderInfo当年 当月 当日
--------------------------------------- --------------------------------------- ---------------------------------------
167.00 71.00 39.00(1 row(s) affected)
哈哈,这个SQL肯定是有问题的,当月:是指年份相同,月份也相同.
当日:是指年份相同,月份也相同!!!
当月:select sum(GoodsFee) from tb_OrderInfo where datediff(m,OrderDate,getdate())=0
当日:select sum(GoodsFee) from tb_OrderInfo where datediff(d,OrderDate,getdate())=0上面的就完全可以了!如果是ACCESS的话就把datediff的第一个参数加上单引号,getdate()改成now()就可以了
还有运行的时候出错,还是运行出错:未将对象引用设置到对象的实例。