SQL Server选取本周或上一周数据
有关SQL Server中有关周的数据查询主要思路来自下面这个语句
select getdate(), dateadd(wk, datediff(wk, 0, DateAdd(Day,-1,getdate())), 0), dateadd(wk, datediff(wk, 0, DateAdd(Day,-1,getdate())), 0) + 6
这是按照中国的习惯,将一周的第一天定为周一。
依照这个为基础,就可以轻松的找到本周和上一周的数据了。
本周示例
Select a.* , datediff(wk, 0, DateAdd(d,-1, a.OppDate)) From (
Select DATEADD(Day,-0,GetDate()) As OppDate Union All
Select DATEADD(Day,-1,GetDate()) As OppDate Union All
Select DATEADD(Day,-2,GetDate()) As OppDate Union All
Select DATEADD(Day,-3,GetDate()) As OppDate Union All
Select DATEADD(Day,-4,GetDate()) As OppDate Union All
Select DATEADD(Day,-5,GetDate()) As OppDate Union All
Select DATEADD(Day,-6,GetDate()) As OppDate Union All
Select DATEADD(Day,-7,GetDate()) As OppDate Union All
Select DATEADD(Day,-8,GetDate()) As OppDate Union All
Select DATEADD(Day,-9,GetDate()) As OppDate Union All
Select DATEADD(Day,-10,GetDate()) As OppDate Union All
Select DATEADD(Day,-11,GetDate()) As OppDate Union All
Select DATEADD(Day,-12,GetDate()) As OppDate Union All
Select DATEADD(Day,-13,GetDate()) As OppDate Union All
Select DATEADD(Day,-14,GetDate()) As OppDate Union All
Select DATEADD(Day,-15,GetDate()) As OppDate Union All
Select DATEADD(Day,-16,GetDate()) As OppDate Union All
Select DATEADD(Day,-17,GetDate()) As OppDate Union All
Select DATEADD(Day,-18,GetDate()) As OppDate Union All
Select DATEADD(Day,-19,GetDate()) As OppDate) As a
Where datediff(wk, 0, DateAdd(d,-1, a.OppDate)) = DATEDIFF(wk,0,DateAdd(d,-1,GetDate()))
上一周示例
Select a.* , datediff(wk, 0, DateAdd(d,-1, a.OppDate)) From (
Select DATEADD(Day,-0,GetDate()) As OppDate Union All
Select DATEADD(Day,-1,GetDate()) As OppDate Union All
Select DATEADD(Day,-2,GetDate()) As OppDate Union All
Select DATEADD(Day,-3,GetDate()) As OppDate Union All
Select DATEADD(Day,-4,GetDate()) As OppDate Union All
Select DATEADD(Day,-5,GetDate()) As OppDate Union All
Select DATEADD(Day,-6,GetDate()) As OppDate Union All
Select DATEADD(Day,-7,GetDate()) As OppDate Union All
Select DATEADD(Day,-8,GetDate()) As OppDate Union All
Select DATEADD(Day,-9,GetDate()) As OppDate Union All
Select DATEADD(Day,-10,GetDate()) As OppDate Union All
Select DATEADD(Day,-11,GetDate()) As OppDate Union All
Select DATEADD(Day,-12,GetDate()) As OppDate Union All
Select DATEADD(Day,-13,GetDate()) As OppDate Union All
Select DATEADD(Day,-14,GetDate()) As OppDate Union All
Select DATEADD(Day,-15,GetDate()) As OppDate Union All
Select DATEADD(Day,-16,GetDate()) As OppDate Union All
Select DATEADD(Day,-17,GetDate()) As OppDate Union All
Select DATEADD(Day,-18,GetDate()) As OppDate Union All
Select DATEADD(Day,-19,GetDate()) As OppDate) As a
Where datediff(wk, 0, DateAdd(d,-1, a.OppDate)) = DATEDIFF(wk,0,DateAdd(d,-1,GetDate())) - 1
SQL Server选取本周或上一周数据的更多相关文章
- Sqlserver语句获取本周、上一周、本月数据
sql语句获取本周.上一周.本月数据 获取周数据 1 本周 2 select * from table1 where datediff(week,时间字段,getdate()) = 0 3 上周 4 ...
- SQLServer数据库之SQL Server 获取本周,本月,本年等时间内记录
本文主要向大家介绍了SQLServer数据库之SQL Server 获取本周,本月,本年等时间内记录,通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助. datediff(we ...
- SQL Server 无法在服务器上访问指定的路径或文件解决方法
SQL Server 无法在服务器上访问指定的路径或文件解决方法 在SQL Server附加数据库或备份数据库时出现:无法在服务器上访问指定的路径或文件. 请确保您具有必需的安全权限且该路径或文件存在 ...
- SQL Server on Ubuntu——Ubuntu上的SQL Server(全截图)
本文从零开始一步一步介绍如何在Ubuntu上搭建SQL Server 2017,包括安装系统.安装SQL等相关步骤和方法(仅供测试学习之用,基础篇). 一. 创建Ubuntu系统(Create U ...
- 安装 sql server 2008出现重启电脑,另在server 2012 r2安装sql server 2008 安装不上
时即使是进行电脑重启,也会报这个错误,那么就不是电脑的问题了,其实是系统注册表在作怪,解决方法如下: 1.开始-->运行,输入regedit,打开注册表管理器: 2. 找到 HKEY_LOCAL ...
- Configure Always On Availability Group for SQL Server on Ubuntu——Ubuntu上配置SQL Server Always On Availability Group
下面简单介绍一下如何在Ubuntu上一步一步创建一个SQL Server AG(Always On Availability Group),以及配置过程中遇到的坑的填充方法. 目前在Linux上可以搭 ...
- sql server 局域网与公网上的发布与订阅
一台局域网的服务器,可以访问公网. 一台云端的服务器. 要求:将局域网中的服务器部分数据库同步到云端的服务器上. 配置情况: win server 2012 是发布服务器. win server 20 ...
- SQL Server 2016五大优势挖掘企业用户数据价值
SQL Server 2016五大优势挖掘企业用户数据价值 转载自:http://soft.zdnet.com.cn/software_zone/2016/0318/3074442.shtml 3月1 ...
- SQL Server 2008空间数据应用系列五:数据表中使用空间数据类型
原文:SQL Server 2008空间数据应用系列五:数据表中使用空间数据类型 友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft SQL Server 2008 R2调测 ...
随机推荐
- eval回显变量
eval命令将会首先扫描命令行进行所有的置换,然后再执行该命令.该命令适用于那些一次扫描无法实现其功能的变量. 一个应用场景如下: export path="/home/bin/" ...
- C与C# socket 跨平台通讯传输结构体
最近需要写一个C组成的服务器端与C#的客户端进行交互的软件,刚开始写的时候发现C#端解析时候出现了故障,经过仔细研究后发现原因是发送方传输太快,出现了所谓粘包的现象.也就是在C#端的Receive() ...
- rest-assured : Restful API 测试利器 - 真正的黑盒单元测试(跟Spring-Boot更配哦,更新至spring-boot1.4.1)
{ "Author":"tomcat and jerry", "URL" :"http://www.cnblogs.com/tom ...
- free-electrons linux内核和驱动
操作系统的三个作用:1.管理硬件资源:2.提供独立于架构和硬件的可移植的软件接口3.处理不同应用对相同硬件资源的同时访问 系统调用接口是稳定的,系统调用由c函数库封装,用户程序基本不需要直接调用系统函 ...
- Linux的学习之路
linux的安装配置.常用命令: 基本上学习任务: 1.在VMware(9)虚拟机上安装Linux操作系统(安装CentOs操作系统) 2.了解Linux操作系统 3.通过XShell工具操作Linu ...
- flex表格的使用
Flex中表格使用datagrid+columns两个组件构成,dagagrid中定义了表格的外观属性和数据源Columns中定义了表格的列名还有对应的字段,方便从数据源取得数据 数据源的赋值一般有两 ...
- OD使用教程9
先运行程序打开about,发现这是一个未注册的软件需要注册后才能使用里面的工具,所以随便注册一下,跳出一个提示说注册的是非法的邮箱,所以就可以以此做为突破口来破解这个程序 将提示的语句作为关键字去找出 ...
- H5中的拖拽事件
最近浏览了张鑫旭大神的基于HTML5 drag/drop模块拖动插入排序删除完整实例,感觉受益匪浅.于是将最做的demo记录下来. 首先浏览一下事件,这些事件比较好记,只要记住用在谁的身上就好了,无非 ...
- 1036. Crypto Columns 2016 11 02
/* 对于题目多读几遍,然后再关键字排序的时候,把对应的数组序号也排序, EYDE MBLR THAN MEKT ETOE EOTH MEETME B ...
- JS-Dom概念
<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content=&q ...