如何取得距今一个月,一季度,一年的记录
有表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




