有关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选取本周或上一周数据的更多相关文章

  1. Sqlserver语句获取本周、上一周、本月数据

    sql语句获取本周.上一周.本月数据 获取周数据 1 本周 2 select * from table1 where datediff(week,时间字段,getdate()) = 0 3 上周 4 ...

  2. SQLServer数据库之SQL Server 获取本周,本月,本年等时间内记录

    本文主要向大家介绍了SQLServer数据库之SQL Server 获取本周,本月,本年等时间内记录,通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助. datediff(we ...

  3. SQL Server 无法在服务器上访问指定的路径或文件解决方法

    SQL Server 无法在服务器上访问指定的路径或文件解决方法 在SQL Server附加数据库或备份数据库时出现:无法在服务器上访问指定的路径或文件. 请确保您具有必需的安全权限且该路径或文件存在 ...

  4. SQL Server on Ubuntu——Ubuntu上的SQL Server(全截图)

    本文从零开始一步一步介绍如何在Ubuntu上搭建SQL Server 2017,包括安装系统.安装SQL等相关步骤和方法(仅供测试学习之用,基础篇). 一.   创建Ubuntu系统(Create U ...

  5. 安装 sql server 2008出现重启电脑,另在server 2012 r2安装sql server 2008 安装不上

    时即使是进行电脑重启,也会报这个错误,那么就不是电脑的问题了,其实是系统注册表在作怪,解决方法如下: 1.开始-->运行,输入regedit,打开注册表管理器: 2. 找到 HKEY_LOCAL ...

  6. 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上可以搭 ...

  7. sql server 局域网与公网上的发布与订阅

    一台局域网的服务器,可以访问公网. 一台云端的服务器. 要求:将局域网中的服务器部分数据库同步到云端的服务器上. 配置情况: win server 2012 是发布服务器. win server 20 ...

  8. SQL Server 2016五大优势挖掘企业用户数据价值

    SQL Server 2016五大优势挖掘企业用户数据价值 转载自:http://soft.zdnet.com.cn/software_zone/2016/0318/3074442.shtml 3月1 ...

  9. SQL Server 2008空间数据应用系列五:数据表中使用空间数据类型

    原文:SQL Server 2008空间数据应用系列五:数据表中使用空间数据类型 友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft SQL Server 2008 R2调测 ...

随机推荐

  1. vim符号列表窗口

    有时使用vim开发时,需要能够直观的查看文件的符号列表或者变量list,但是vim不直接支持这个功能,需要使用ctags的插件支持. 以下是在ubuntu下的详细设置方法: 步骤1:安装ctags u ...

  2. Asp.Net MVC4入门指南(5):从控制器访问数据模型

    在本节中,您将创建一个新的MoviesController类,并在这个Controller类里编写代码来取得电影数据,并使用视图模板将数据展示在浏览器里. 在开始下一步前,先Build一下应用程序(生 ...

  3. SSM框架——使用MyBatis Generator自动创建代码

    版权声明:本文为博主原创文章,未经博主允许不得转载. 这两天需要用到MyBatis的代码自动生成的功能,由于MyBatis属于一种半自动的ORM框架,所以主要的工作就是配置Mapping映射文件,但是 ...

  4. Python执行命令行

    背景 我们知道,虽然会破坏平台独立性,但是有的时候需要在代码里面调用命令行来获取一些信息,那么了解在 Python 中如何执行命令行至关重要 使用介绍 Python 中使用命令行可以通过 subpro ...

  5. cassandra指定数据库路径

    参考 https://docs.datastax.com/en/cassandra/2.1/cassandra/configuration/configCassandra_yaml_r.html 我们 ...

  6. 关于CSS中text-decoration值没有替换而是累积的疑问

    做了个实验: <!DOCTYPE html> <html> <head> <title>BaiDuTest.html</title> < ...

  7. firefox的console log功能

    http://www.ruanyifeng.com/blog/2011/03/firebug_console_tutorial.html Firebug是网页开发的利器,能够极大地提升工作效率. 但是 ...

  8. sharedpreferences的简单使用

    sharedpreferences 以键值对的方式将数据保存在xml   创建:SharePreferences sp = getShareferences(name,context.---) con ...

  9. R与Java

    对于从未接触代码的我,看到这些很陌生,现在需要做的是用r语言去做数据处理分析,将分析的结果给Java,然后在Java上输出想要的结果,没人给予指导,自己就这样瞎摸索,真希望有这方面的牛人给予指导,让一 ...

  10. System.Security.SecurityException The source was not found, but some or all event logs could not be searched.Inaccessible logs Security.

    An exception occurred during the Install phase. System.Security.SecurityException The source was not ...