现在某表中有时间字段,要根据时间字段分别取出上个月和上一年的其他字段的数据来。
怎么实现呢?谢谢。
怎么实现呢?谢谢。
解决方案 »
- 单元引用问题
- 如何对RichEdit.Lines.Add的字符串指定颜色?
- 请高手帮帮忙, 关于adoQuery事件的后期绑定的问题?
- 在北京能正常开发的delphi程序员能挣多少钱?
- 如何将Dbcheckbox植入Dbgrid中?
- 打开程序报错:Error Creating form:Invalid Stream format,请高手相助
- DBLookupComboBox和DBLookupListBox怎么用啊?
- adoquery的 filter 属性如何使用 ?
- 网络通讯一个简单的问题
- 高分求助!!! 怎么将组合框的向下小箭头变大变宽!!!
- 请问一个DBGridEh的问题
- 如何用ADO控件读取.DBF表
取出上个月的month,
取出上年的year/
select * from Table_Name where month(F_Date)=month
select * from Table_Name where year(F_Date)=year
DATEADD <datepart> <number> <date>
DATEADD 函数返回指定日期date 加上指定的额外日期间隔number 产生的新日
期参数datepart 在日期函数中经常被使用它用来指定构成日期类型数据的各组件
如年季月日星期等其取值如表4-9 所示
表4-9 日期函数中datepart 参数的取值
datepart 缩 写取 值
year yy yyyy 1753 ~ 9999
quarter qq q 1 ~ 4
month mm m 1 ~ 12
day of year dy y 1 ~ 366
day dd d 1 ~ 31
week wk ww 1 ~ 54
weekday dw 1 ~ 7
hour hh 0 ~ 23
minute mi n 0 ~ 59
second ss s 0 ~ 59
millisecond ms 0 ~ 999/*try*/SELECT * FROM TableName WHERE DateField < DATEADD(year, -1, GetDate())SELECT * FROM TableName WHERE DateField < DATEADD(month, -1, GetDate())
这样提取的是这个月之前的数据,我现在只想提出上个月,只一个月的数据,如何实现呢?
DATEADD(month, -1, GetDate())就可以了.
access这样
//月
SELECT *
FROM ddd
where begin_date between DateAdd("m",-2,begin_date) and DateAdd("m",-1,begin_date);
//年
SELECT *
FROM ddd
where begin_date between DateAdd("y",-2,begin_date) and DateAdd("y",-1,begin_date);
DATEADD <datepart> <number> <date>
DATEADD 函数返回指定日期date 加上指定的额外日期间隔number 产生的新日
期参数datepart 在日期函数中经常被使用它用来指定构成日期类型数据的各组件
如年季月日星期等其取值如表4-9 所示
表4-9 日期函数中datepart 参数的取值
datepart 缩 写取 值
year yy yyyy 1753 ~ 9999
quarter qq q 1 ~ 4
month mm m 1 ~ 12
day of year dy y 1 ~ 366
day dd d 1 ~ 31
week wk ww 1 ~ 54
weekday dw 1 ~ 7
hour hh 0 ~ 23
minute mi n 0 ~ 59
second ss s 0 ~ 59
millisecond ms 0 ~ 999/*try*/SELECT * FROM TableName WHERE DateField < DATEADD(year, -1, GetDate())SELECT * FROM TableName WHERE DateField < DATEADD(month, -1, GetDate())
--年
selcet * from tb where year(日期字段)=year(GETDATE())-1
--月
select * from tb where year(日期字段)=year(GETDATE()) and month(日期字段)=month(GETDATE())