Access如何按年,月,日,周,季查询


String sql = "select count(*) as mynum from Trade group by format(StockDate, 'yyyy-MM')";
这是按月查询的,其他以此类推。
日:
SELECT SJoinTime, ID FROM Sale where format(sjointime,'yyyy-MM-dd')=#2009-03-30#

另外可用datepart函数:

DatePart 函数
返回一个 Integer 值,其中包含给定 Date 值的指定组件。

Public Overloads Function DatePart( _
   ByVal Interval As DateInterval, _
   ByVal DateValue As DateTime, _
   Optional ByVal FirstDayOfWeekValue As FirstDayOfWeek = VbSunday, _
   Optional ByVal FirstWeekOfYearValue As FirstWeekOfYear = VbFirstJan1 _
) As Integer
- 或 -

Public Overloads Function DatePart( _
    ByVal Interval As String, _
   ByVal DateValue As Object, _
   Optional ByVal DayOfWeek As FirstDayOfWeek = FirstDayOfWeek.Sunday, _
   Optional ByVal WeekOfYear As FirstWeekOfYear = FirstWeekOfYear.Jan1 _
) As Integer
参数
Interval
必选项。DateInterval 枚举值或 String 表达式,它表示所要返回的日期/时间值部分。
DateValue
必选项。所要计算的 Date 值。
FirstDayOfWeekValue
可选项。选自 FirstDayOfWeek 枚举的值,该枚举用于指定周的第一天。若未指定,则使用 FirstDayOfWeek.Sunday。
FirstWeekOfYearValue
可选项。选自 FirstWeekOfYear 枚举的值,该枚举用于指定年的第一周。若未指定,则使用 FirstWeekOfYear.Jan1。
设置
Interval 参数可以有以下设置。

枚举值 字符串 所要返回的日期/时间值部分
DateInterval.Day  d 月中的哪一天(从 1 到 31)
DateInterval.DayOfYear  y 年中的哪一天(从 1 到 366)
DateInterval.Hour  h 小时
DateInterval.Minute  n  分钟
DateInterval.Month  m 月
DateInterval.Quarter  q  季度
DateInterval.Second  s 秒钟
DateInterval.Weekday  w 星期几(从 1 到 7)
DateInterval.WeekOfYear  ww  年中的哪一周(从 1 到 53)
DateInterval.Year  yyyy 年


FirstDayOfWeekValue 参数可以有以下设置。

枚举值 值 说明
FirstDayOfWeek.System  0  系统设置中指定的周的第一天  
FirstDayOfWeek.Sunday  1  星期日(默认)
FirstDayOfWeek.Monday  2  星期一(依照 ISO 8601 标准第 3.17 节)  
FirstDayOfWeek.Tuesday  3  星期二
FirstDayOfWeek.Wednesday  4  星期三
FirstDayOfWeek.Thursday  5  星期四
FirstDayOfWeek.Friday  6  星期五
FirstDayOfWeek.Saturday  7  星期六

FirstWeekOfYearValue 参数可以有以下设置。

枚举值 值 说明
FirstWeekOfYear.System  0  系统设置中指定的年的第一周
FirstWeekOfYear.Jan1  1  1 月 1 日所在的周(默认)
FirstWeekOfYear.FirstFourDays  2  至少有四天属于新年的周(依照 ISO 8601 标准第 3.17 节)
FirstWeekOfYear.FirstFullWeek  3  新年的第一个全周

异常/错误
异常类型 错误号 条件
ArgumentException 5 Interval 无效。  
InvalidCastException 13 DateValue 不能被强制为 Date。

备注
可以使用 DatePart 函数来计算日期/时间值并返回一个特定组件。例如,可以使用 DatePart 计算某个日期是星期几或目前为几点钟。

若为 Interval 参数选择 DateInterval.Weekday,返回的值与 FirstDayOfWeek 枚举的值一致。若选择 DateInterval.WeekOfYear,DatePart 使用 System.Globalization 命名空间的 Calendar 和 CultureInfo 类来确定当前设置。

FirstDayOfWeekValue 参数会影响使用 DateInterval.Weekday 和 DateInterval.WeekOfYear Interval 设置所进行的计算。FirstWeekOfYearValue 参数影响为 Interval 指定 DateInterval.WeekOfYear 的计算。

如果有任何参数的值无效,就会发生 ArgumentException 错误。若 DateValue 参数值无法被强制为有效的 Date 值,则会发生 InvalidCastException 错误。

比如,如果按月:
sql = "select count(*) as mycount from trade group by datepart('m', stockdate)";
有些人说datepart不能select,原因是interval他们用错了,比如
sql="select datepart('q', stockdate) from trade"就是从trade表中提取stockdate字段的季度值。
分类: DataBase



本文转自94cool博客园博客,原文链接:http://www.cnblogs.com/94cool/archive/2011/07/28/2119968.html,如需转载请自行联系原作者
上一篇:将execel表格的数据导入到mysql数据库


下一篇:css案例学习之继承关系