sql server 查询本周、本月所有天数的数据

查询本月所有的天数:

--本月所有的天数
select convert(varchar(10),dateadd(DAY,t2.number,t1.day),120) day from
(select substring(convert(varchar,GETDATE(),120),1,7)+'-01' day) t1,
(select number from MASTER..spt_values WHERE TYPE='P' AND number>=0 and number<=31) t2
where convert(varchar(10),dateadd(DAY,t2.number,t1.day),120) like substring(convert(varchar,GETDATE(),120),1,7)+'%'

查询本周所有的天数:

select date=convert(varchar(10),dateadd(wk, datediff(wk,0,getdate()), 0),120)
union all select date=convert(varchar(10),dateadd(wk, datediff(wk,0,getdate()), 1),120)
union all select date=convert(varchar(10),dateadd(wk, datediff(wk,0,getdate()), 2),120)
union all select date=convert(varchar(10),dateadd(wk, datediff(wk,0,getdate()), 3),120)
union all select date=convert(varchar(10),dateadd(wk, datediff(wk,0,getdate()), 4),120)
union all select date=convert(varchar(10),dateadd(wk, datediff(wk,0,getdate()), 5),120)
union all select date=convert(varchar(10),dateadd(wk, datediff(wk,0,getdate()), 6),120)

示例:

如下图所示,有表MO_Orders,字段:BookTime,Number,Count,有如下数据。

查询出本周的每天的数据总和,语句如下:

with t as
( select date=convert(varchar(10),dateadd(wk, datediff(wk,0,getdate()), 0),120)union all select date=convert(varchar(10),dateadd(wk, datediff(wk,0,getdate()), 1),120)union all select date=convert(varchar(10),dateadd(wk, datediff(wk,0,getdate()), 2),120)union all select date=convert(varchar(10),dateadd(wk, datediff(wk,0,getdate()), 3),120)union all select date=convert(varchar(10),dateadd(wk, datediff(wk,0,getdate()), 4),120)union all select date=convert(varchar(10),dateadd(wk, datediff(wk,0,getdate()), 5),120)union all select date=convert(varchar(10),dateadd(wk, datediff(wk,0,getdate()), 6),120)
)
select id=ROW_NUMBER()OVER(ORDER BY t1.date),DATENAME(weekday,t1.date) as weekday,t1.date,Numbers=sum(isnull(t2.Number,0)),  Count=sum(isnull(t2.Count,0))
from t t1
left join
(  select substring(convert(varchar,BookTime,120),1,11) as BookTime,Number,Count from  MO_Orders where datediff(wk,BookTime-1,getdate()) = 0  )t2
on t1.date= substring(convert(varchar,t2.BookTime,120),1,11)
group by t1.date

查询效果如下图,其中 weekday为星期,此图还需替换,稍后补上:

示例:如下图所示,有表: MO_Orders,字段:BookTime,Cost,Count 。

查询本月的所有数据总和(其中:total=Cost*Count)。

查询出本月的每天的数据总和,显示每天的,查询语句如下:

with t as
( select convert(varchar(10),dateadd(DAY,t2.number,t1.day),120) date from (select substring(convert(varchar,GETDATE(),120),1,7)+'-01' day) t1, (select number from MASTER..spt_values WHERE TYPE='P' AND number>=0 and number<=31) t2 where convert(varchar(10),dateadd(DAY,t2.number,t1.day),120) like substring(convert(varchar,GETDATE(),120),1,7)+'%'
)
select id=ROW_NUMBER()OVER(ORDER BY t1.date),t1.date,CostTotal=sum(isnull(t2.CostTotal,0))
from t t1
left join
(    select BookTime,sum(CostTotal) as CostTotal from (select substring(convert(varchar,BookTime,120),1,11) as BookTime,Cost*Count as CostTotal from  MO_Orders where datediff(month,BookTime,getdate()) = 0 ) o group by BookTime
) t2
on t1.date= t2.BookTime
group by t1.date

SQL Server查询本周、本年所有天数数据相关推荐

  1. sql server 查询本周、本月所有天数的数据

    2019独角兽企业重金招聘Python工程师标准>>> 查询本月所有的天数: --本月所有的天数 select convert(varchar(10),dateadd(DAY,t2. ...

  2. Sql Server查询本周及上周(周一-周日)具体某天的数据的sql语句

    本周: 查询本周一的日期 select convert(varchar(10),dateadd(wk, datediff(wk,0,getdate()), 0),120) 查询本周一的数据 selec ...

  3. SQL Server查询存储–概述

    The SQL Server Query Store is a relatively new feature introduced in SQL Server 2016. It is basicall ...

  4. Sql Server查询包含nbsp/乱码/空格符无法查出数据

    Sql Server查询包含乱码/空格符无法查出数据 今天开发遇到了一个离谱的问题,在接口查sqlserver时,有一部分以空格结尾的列查不到,先检查是否是参数有问题: 在接收ajax的参数时,出现了 ...

  5. sql查询oracle数据,sql-server – 从SQL Server查询Oracle数据库

    我有一个Oracle 11g XE数据库,我想将其转移到SQL Server Express 2005中. 起初我以为我只是在Oracle中生成表作为SQL,操纵数据格式,并在SQL Server中运 ...

  6. SQL Server 查询性能优化——覆盖索引(二)

    在SQL Server 查询性能优化--覆盖索引(一)  中讲了覆盖索引的一些理论. 本文将具体讲一下使用不同索引对查询性能的影响. 下面通过实例,来查看不同的索引结构,如聚集索引.非聚集索引.组合索 ...

  7. SQL Server语句大全(增删改查数据、创建表、删除表、修改表)

    SQL server 增删改查语句 新增 insert into test.dbo.users (id,username,password) values(1,'lisi',123),(2,'lisi ...

  8. SQL Server使用convert对datetime日期数据进行转换

    以下的文章主要描述的是SQL Server使用convert取得datetime日期数据的实际操作流程,在实际操作中用SQL Server数据库中用convert来获取datetime日期数据,以下实 ...

  9. 如何在SQL Server查询语句(Select)中检索存储过程(Store Procedure)的结果集

    如何在SQL Server查询语句(Select)中检索存储过程(Store Procedure)的结果集?(2006-12-14 09:25:36) 与这个问题具有相同性质的其他描述还包括: 如 ...

最新文章

  1. 【研究院】低调务实的网易人工智能,你熟悉吗?
  2. 清华王兴再抛神论:为什么教育决定着中国餐饮业质量?
  3. 单载波DSP模块介绍
  4. leecode---40---数组,dfs---求所有的组合为target,有重复数组
  5. java kernel32.dll,关于kernel32.sys病毒的问题
  6. 走向ASP.NET架构设计---第二章:设计 测试 代码 (前篇)
  7. 【WPS】您选定的文件类型不支持包含多份工作表的工作簿。
  8. 邮箱注册的html怎么写,邮箱格式怎么写 邮箱的正确写法
  9. Firefox的下载处理器:FlashGot v1.0 Final颁发
  10. 广州高清卫星地图 用百度卫星地图服务器下载 含标签、道路数据叠加 可商用
  11. linux open换行windows,python中遇到的Windows系统中换行符的一个坑
  12. 如何从零开始设计一款小程序原型?
  13. 启动gazebo失败报错[gazebo-1] process has died [pid 10999, exit code 255
  14. 【银河麒麟国产服务器安装mysql、nginx和docker遇到的问题】(回忆篇)
  15. vim的使用以及vim插件的配置
  16. 工程训练大赛物流小车_宁大机械学子在工程训练省赛中斩获佳绩,取得历史性突破...
  17. 吉首大学2019年程序设计竞赛(重现赛) B 干物妹小埋
  18. javafx开发总结
  19. 小程序学习:实现仿美团的商家首页之锚点实现分类和所属商品的联动
  20. 一图看懂RISC-V星光板(VisionFive)的启动流程

热门文章

  1. .msi文件和.exe文件的区别
  2. 面试之抽象类和接口的区别
  3. 关于ros2安装的那些坑
  4. 编译原理课程设计-C语言子集编译器(Java实现)
  5. 手动下载的jar包依赖了其他jar包,一个个找太麻烦,看我是怎么解决的
  6. 三星配置服务怎么解决_三星手机笔记闪退怎么解决?三星手机好用的笔记App - 敬业签便签...
  7. 2016-6-15《烽火通信科技股份有限公司》笔试题总结
  8. 让Vue项目更丝滑的几个小技巧
  9. 晴天小猪历险记之Hill解题报告
  10. 嵌入式开发之1553B协议