现在某表中有时间字段,要根据时间字段分别取出上个月和上一年的其他字段的数据来。
怎么实现呢?谢谢。

解决方案 »

  1.   

    FormatDateTime(Date,year,month,day);
    取出上个月的month,
    取出上年的year/
    select * from Table_Name where month(F_Date)=month
    select * from Table_Name where year(F_Date)=year
      

  2.   

    //如果用的是SQL SERVER数据库DATEADD 函数语法如下
    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())
      

  3.   

    揭贴吧,分都给 zswang(伴水清清)(专家门诊清洁工)
      

  4.   

    SELECT * FROM TableName WHERE DateField < DATEADD(month, -1, GetDate())
    这样提取的是这个月之前的数据,我现在只想提出上个月,只一个月的数据,如何实现呢?
      

  5.   

    SELECT * FROM TableName WHERE DateField   between DATEADD(month, -2, GetDate())  and 
    DATEADD(month, -1, GetDate())就可以了.
      

  6.   

    呵呵
    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);
      

  7.   

    //如果用的是SQL SERVER数据库DATEADD 函数语法如下
    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())
      

  8.   

    --SQL server
    --年
    selcet * from tb where year(日期字段)=year(GETDATE())-1
    --月
    select * from tb where year(日期字段)=year(GETDATE()) and month(日期字段)=month(GETDATE())