zoukankan      html  css  js  c++  java
  • 转: sql语句获取本周、本月数据

    本周:select * from table where datediff(week,C_CALLTIME,getdate())=0     --C_CALLTIME 为日期字段
    本月:select * from table where datediff(Month,C_CALLTIME,getdate())=0   --C_CALLTIME 为日期字段
    本季:select * from table where datediff(qq,C_CALLTIME,getdate())=0 
    前半年1-6,后半年7-12:select * from table where datepart(mm,C_CALLTIME)/7 = datepart(mm,getdate())/7

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

    sql得到当前系统时间得 日期部分

    CONVERT(varchar(10),getDate(),120)

    求得到"昨天,今天"日期函数的SQL

    所属分类:MS-SQL Server 基础类

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

    Convert(Datetime,GetDate(),2)

    GetDate()得到今天日期2007-03-26 16:14:12.187

    1.现在我需要得到只是日期部分,时间部分不要,SQL怎么写?

    2.求以下日期SQL:

    昨天 

    明天

    最近七天

    随后七天

    上周

    本周

    下周

    上月

    本月

    下月

    请高手帮忙。谢谢

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

    1.现在我需要得到只是日期部分,时间部分不要,SQL怎么写?

    select convert(varchar(10),getdate(),120)

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

    --1.

    Select Convert(Varchar(10), GetDate(), 120)

    Select Convert(Varchar(10), GetDate(), 121)

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

    2.求以下日期SQL:

    昨天 

    select convert(varchar(10),getdate() - 1,120)

    明天

    select convert(varchar(10),getdate() + 1,120)

    最近七天

    select * from tb where 时间字段 >= convert(varchar(10),getdate() - 7,120)

    随后七天

    select * from tb where 时间字段 <= convert(varchar(10),getdate() + 7,120) and 时间字段 >= 时间字段

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

    convert和dateadd函数结合使用就可以了。

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

    用datediff(day,时间列,getdate())

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

    上月

    select * from tb where month(时间字段) = month(getdate()) - 1

    本月

    select * from tb where month(时间字段) = month(getdate())

    下月

    select * from tb where month(时间字段) = month(getdate()) + 1

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

    --2

    --如果是在表中查詢

    --昨天 

    Select * From TableName Where DateDiff(dd, DateTimCol, GetDate()) = 1

    --明天

    Select * From TableName Where DateDiff(dd, GetDate(), DateTimCol) = 1

    --最近七天

    Select * From TableName Where DateDiff(dd, DateTimCol, GetDate()) <= 7

    --随后七天

    Select * From TableName Where DateDiff(dd, GetDate(), DateTimCol) <= 7

    --上周

    Select * From TableName Where DateDiff(wk, DateTimCol, GetDate()) = 1

    --本周

    Select * From TableName Where DateDiff(wk, DateTimCol, GetDate()) = 0

    --下周

    Select * From TableName Where DateDiff(wk, GetDate(), DateTimCol ) = 1

    --上月

    Select * From TableName Where DateDiff(mm, DateTimCol, GetDate()) = 1

    --本月

    Select * From TableName Where DateDiff(mm, DateTimCol, GetDate()) = 0

    --下月

    Select * From TableName Where DateDiff(mm, GetDate(), DateTimCol ) = 1

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

    本周

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

    上周

    select * from tb where datediff(week , 时间字段 ,getdate()) = 1

    下周

    select * from tb where datediff(week , 时间字段 ,getdate()) = -1

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

    1.现在我需要得到只是日期部分,时间部分不要,SQL怎么写?

    select convert(varchar(10),getdate(),120)

    2.求以下日期SQL:

    昨天 

    select convert(varchar(10),getdate() - 1,120)

    明天

    select convert(varchar(10),getdate() + 1,120)

    最近七天

    select * from tb where 时间字段 >= convert(varchar(10),getdate() - 7,120)

    随后七天

    select * from tb where 时间字段 <= convert(varchar(10),getdate() + 7,120) and 时间字段 >= 时间字段

    上月

    select * from tb where month(时间字段) = month(getdate()) - 1

    本月

    select * from tb where month(时间字段) = month(getdate())

    下月

    select * from tb where month(时间字段) = month(getdate()) + 1

    本周

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

    上周

    select * from tb where datediff(week , 时间字段 ,getdate()) = 1

    下周

    select * from tb where datediff(week , 时间字段 ,getdate()) = -1

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

    昨天:dateadd(day,-1,getdate())

    明天:dateadd(day,1,getdate())

    上月:month(dateadd(month, -1, getdate()))

    本月:month(getdate())

    下月:month(dateadd(month, 1, getdate()))

  • 相关阅读:
    iOS 9适配系列教程:后台定位
    入行几年后,互联网人的未来应该在哪里?
    iOS iOS8注册通知
    Warning!程序员们小心被技术绑架
    2015 Objective-C 三大新特性
    怎么面试架构师
    移动Web资源整理
    利用微信提高APP下载的3个推广方式!
    Audio Session Programming Guide
    iOS 设计
  • 原文地址:https://www.cnblogs.com/xiaobudong/p/6986558.html
Copyright © 2011-2022 走看看