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

函数 参数/功能
GetDate( ) 返回系统目前的日期与时间
DateDiff (interval,date1,date2) 以interval 指定的方式,返回date2 与date1两个日期之间的差值 date2-date1
DateAdd (interval,number,date) 以interval指定的方式,加上number之后的日期
DatePart (interval,date) 返回日期date中,interval指定部分所对应的整数值
DateName (interval,date) 返回日期date中,interval指定部分所对应的字符串名称

 关于查询上周,上月,去年的方法

上一星期(七天之内):
select * from art where [now] between dateadd("ww",-1,now()) and now()
上一星期(上周一至周日):
select * from art where [now] between dateadd("d",-Weekday(Now())-5,now()) and dateadd("d",-Weekday(Now())+1,now())
上一月(上月的今天至今天):
select * from art where [now] between dateadd("m",-1,now()) and now()
上一月(1号至最后一天):
select * from art where [now] between dateserial(year(now),month(now())-1,1) and dateserial(year(now),month(now()),1-1)

上面的好像不行,下面的可用:

上周SET @sql=@sql+ ' and datediff(Week , begintime , getdate()) =1
上月SET @sql=@sql+ ' and datediff(month, begintime , getdate()) =1
去年SET @sql=@sql+ ' and datediff(year, begintime , getdate()) =1

摘录于此,仅供自己参考备忘。



[本日志由 ancher 于 2011-03-13 07:24 PM 编辑]
上一篇: 点击文本框出现验证码的JS代码
下一篇: 用ASP判断Email地址是否合法
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: 时间 日期 SQL
相关日志:
评论: 1 | 引用: 0 | 查看次数: 8098
发表评论
你没有权限发表评论!