zoukankan      html  css  js  c++  java
  • sql获取本周内的数据,本月查询

     select  *  from  表  where  datediff(week,时间字段,getdate())=0

    也可以稍作修改用来查询与指定日期在同一周内的数据:
    select  *  from  表  where  datediff(week,时间字段,2002-01-01)=0

    由于ACCESS与SQLServer2000中的某些查询略有不同,所有下面列出access的查询:
    select  *  from  表  where  datediff("ww",时间字段,date())=0

    下面是指定日期的
    select  *  from  表  where  datediff("ww",时间字段,#2002-01-01#)=0

    不好理解的是:y、w,开始我以为 y 的单位是 365天(与 1年 有点区别噢,见后面的 DateDiff),w 的单位是 7天。其实不是的,细读了微软参考并作了测试后发现,这其中 y、w、d 是同意义的,表示天数。

    另外,DateDiff 的第一个参数中 y 和 d 是同意义的,w 不再与 d 同意义,而是表示相隔多少个 7天,这与 ww 不同。假如今天是一周的第一天,至于星期几是一周的第一天得看计算机设置和第四个参数了,那么今天与昨天相隔 0 个 w,相隔 1 个 ww,因为今天与昨天相差不足 1 个 7天,但今天已经是另外一周了。

    很难想像吧,但事实就是这样,总结一下。

    DateAdd:y、w、d 同意义,都表示天数。
    DateDiff:y、d 同意义,都表示天数;w 表示多少个 7天,ww 表示多少周。

    --一星期  
      where   时间字段   between   时间字段   and       DATEADD   (week   ,1,时间字段)    
      --一月  
      where   时间字段   between   时间字段   and       DATEADD   (month,1,时间字段)    
      --半年  
      where   时间字段   between   时间字段   and       DATEADD   (month,6,时间字段)    
      --一年  
      where   时间字段   between   时间字段   and       DATEADD   (year,1,时间字段)  

    -------------------------------------------------------------------------------------------

    本月查询:select * from table where  DATEPART(month,时间字段) = month

  • 相关阅读:
    2019-2020-1 20199311《Linux内核原理与分析》第五周作业
    2019-2020-1 20199311《Linux内核原理与分析》第四周作业
    2019-2020-1 20199311《Linux内核原理与分析》第三周作业
    2019-2020-1 20199311《Linux内核原理与分析》第二周作业
    2019-2020-1 20199311《Linux内核原理与分析》第一周作业
    Markdown写随笔
    ELK:日常维护系列(1)
    nginx和appache ssl配置区别
    azure制作centos7镜像必须步骤
    vue生成gzip压缩包部署到nginx
  • 原文地址:https://www.cnblogs.com/studyshine/p/2307492.html
Copyright © 2011-2022 走看看