zoukankan      html  css  js  c++  java
  • sql语句获取本周、本月数据 SQL 20100325 00:59:34 阅读63 评论0 字号:大中小

    sql语句获取本周、本月数据

    SQL 2010-03-25 00:59:34 阅读63 评论0 字号:

    本周: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()))

  • 相关阅读:
    SQL0668N 由于表 "db2inst1.test" 上的原因代码 "3",所以不允许操作(解因为LOAD引起的LOAD暂挂状态锁)
    重装系统后,如何恢复DB2数据库?
    db2 导入导出命令大全
    解决tomcat启动时日志出现 javax.naming.NamingException: Invalid byte 1 of 1byte UTF8 sequence.的问题
    【fcntl系统调用】
    C++读书笔记之函数模板
    unix shell笔记
    用setsockopt()来控制recv()与send()的超时 【转】
    Linux守护进程的编程实现 [转]
    GDB调试core文件样例(如何定位Segment fault) 【转】
  • 原文地址:https://www.cnblogs.com/longshen/p/1743108.html
Copyright © 2011-2022 走看看