CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

如何取得距今一个月,一季度,一年的记录

楼主churchatp1(别看资料,看聊效!)2005-08-02 13:36:47 在 MS-SQL Server / 基础类 提问

有表A(id,time1),其中time1为datetime类型数据  
  如何取得A表中距现在时间1个月,1季度,1年得记录,谢谢 问题点数:30、回复次数:9Top

1 楼aw511(点点星灯)回复于 2005-08-02 13:46:51 得分 5

select   *   from   table   where   datediff(Month,time1,getdate())=1       --距现在时间1个月  
  select   *   from   table   where   datediff(quarter,time1,getdate())=1       --距现在时间1季度  
  select   *   from   table   where   datediff(year,time1,getdate())=1       --距现在时间1年  
  Top

2 楼aw511(点点星灯)回复于 2005-08-02 13:57:39 得分 0

Select   *   from   tgoods   Where   DateDiff(dd,Dpubl,GetDate())=0--本日数据  
  Select   *   from   tgoods   Where   DateDiff(wk,Dpubl,GetDate())=0--本周数据  
  Select   *   from   tgoods   Where   DateDiff(mm,Dpubl,GetDate())=0--本月数据  
  Select   *   from   tgoods   Where   DateDiff(yy,Dpubl,GetDate())=0--本年数据  
  Select   *   from   tgoods   Where   DateDiff(qq,Dpubl,GetDate())=0--本季数据  
   
  --这个才是的,上面的有点问题.Top

3 楼churchatp1(别看资料,看聊效!)回复于 2005-08-02 13:57:58 得分 0

好像不对吧,这样得出得只是上个月得信息啊  
  我想得到得是这一个月来得信息,也就是比如今天8月2号,我想得到7月2号到8月2号这段时间得信息,包括8月2号不包括7月2号得信息Top

4 楼xiaonvjing(飞扬)回复于 2005-08-02 14:45:47 得分 5

--取得表A中距现在时间为1个月的数据  
  select   *   from   A     where   datediff(mm,date1,getdate())=1  
   
  --取得表A中距现在时间为1季度的数据  
   
  select   *   from   A   where   datediff(qq,date1,getdate())=1  
   
  --取得表A中距现在时间为1年的数据  
   
  select   *   from   A   where   date1=getdate()   or    
  datediff(mm,date1,getdate())=1    
   
  这样应该是可以的呀,得到的是7月2日到8月2日之间的数据Top

5 楼churchatp1(别看资料,看聊效!)回复于 2005-08-02 14:51:58 得分 0

不对得,你试试看看就知道了Top

6 楼churchatp1(别看资料,看聊效!)回复于 2005-08-02 14:53:21 得分 0

这样是没有8月分得数据得  
  只有7月分得数据Top

7 楼summerICEREDTEA(从基础学起)回复于 2005-08-02 15:02:47 得分 5

--这样是没有8月分得数据得  
  --只有7月分得数据  
  建议你在联机丛书里查询datediff函数  
  而且根据你说的   你要的是7月   8月   共2个月的数据  
  --xiaonvjing(飞扬)  
  --取得表A中距现在时间为1个月的数据  
  select   *   from   A     where   datediff(mm,date1,getdate())=1   --7月  
  select   *   from   A     where   datediff(mm,date1,getdate())=0   --8月  
  Top

8 楼xiaonvjing(飞扬)回复于 2005-08-02 15:18:07 得分 0

哦,不好意思,是有问题,现更正一下:  
   
  --取得表A中距现在时间为1个月的数据  
  select   *   from   A     where   datediff(mm,date1,getdate())=1      
  or   datediff(mm,date1,getdate())=1  
   
   
  --取得表A中距现在时间为1季度的数据  
   
  select   *   from   A   where   datediff(qq,date1,getdate())=1    
  or   datediff(qq,date1,getdate())=0  
   
  --取得表A中距现在时间为1年的数据  
   
  select   *   from   A   where   datediff(yy,date1,getdate())=1    
  or   datediff(yy,date1,getdate())=0  
   
   
   
  Top

9 楼jiushaoye(打倒小日本)回复于 2005-08-02 15:42:38 得分 15

select   *   from   t   where   date1   >   dateadd(month,-1,getdate())   and   date1   <=   getdate()  
  select   *   from   t   where   date1   >   dateadd(year,-1,getdate())   and   date1   <=   getdate()  
  select   *   from   t   where   date1   >   dateadd(day,-1,getdate())   and   date1   <=   getdate()Top

相关问题

  • 如何取得IE的历史记录
  • 如何取得其中的记录
  • 如何取得DBGrid的当前记录?
  • 如何取得插入记录的id?
  • Oracle中取得记录为乱码
  • 如何取得一条记录
  • 如何取得日期所在的季度?
  • 如何最快取出数据库表中本季度的记录?
  • 如何用SqlDataReader取得当前记录录的前一条记录?
  • 如何在插入一条记录后取得该记录的ID?

关键词

  • 数据
  • 信息
  • dpubl
  • tgoods
  • getdate
  • 季度
  • 月
  • 取得
  • where datediff
  • 现在时间

得分解答快速导航

  • 帖主:churchatp1
  • aw511
  • xiaonvjing
  • summerICEREDTEA
  • jiushaoye

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo