用SQL查询日,月,周季

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-02 02:37 点击:

 怎么用SQL查询昨天、今天、明天和本周的记录?又怎么用SQL查询一天,三天,一周,一个月,更长一些——一个季度的记录呢?本文中给出了一些方法。
SQL查询今天的记录:

 datediff(day,[Datetime],getdate())=0  把Datetime换为你的相应字段;
SQL查询昨天的记录:

 

 datediff(day,[Datetime],getdate())=1  把Datetime换为你的相应字段,getdate()-Datetime即为时间差。
本月记录:

 SELECT * FROM 表 WHERE datediff(month,[dateadd],getdate())=0
本周记录:

 SELECT * FROM 表 WHERE datediff(week,[dateadd],getdate())=0 
本日记录:

SELECT * FROM 表 WHERE datediff(day,[dateadd],getdate())=0
一天

select * from T_news where datediff(day,addtime,getdate())=0  
三天

select * from T_news where datediff(day,addtime,getdate())<= 2 and datediff(day,addtime,getdate())>= 0  
一周

select * from T_news WHERE (DATEPART(wk, addtime) = DATEPART(wk, GETDATE())) AND (DATEPART(yy, addtime) = DATEPART(yy, GETDATE()))  
注意:此时不能用 datediff 差值为7,因为,datediff只表示间隔数

一月  

select * from T_news WHERE (DATEPART(yy, addtime) = DATEPART(yy, GETDATE())) AND (DATEPART(mm, addtime) = DATEPART(mm, GETDATE()))  
一季度

select * from T_news where DATEPART(qq, addtime) = DATEPART(qq, GETDATE()) and DATEPART(yy, addtime) = DATEPART(yy, GETDATE())
希望以上这些方法,能给大家一些启示。

作者“循迹觅宗师”

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • sql常见面试题
    • SQL SERVER 2005性能之跟踪
    • SQL编程(一)
    • LINUX上RMAN自动备份脚本
    • sql server面试题
    • 如何将多个SQL查询统计结果一次显示出来
    • 浅谈SQL Server中的事务日志(三)----在简单恢复模式下日志的角色
    • sql server 列转行
    • SQL小技巧系列 --- 行转列合并
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1