asp取access数据库里本周、本月、本季度的记录,select语句怎么写?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp取access数据库里本周、本月、本季度的记录,select语句怎么写?相关的知识,希望对你有一定的参考价值。

asp取access,不是sql server数据库,怎么写的突然忘记了,找高手来指点!

本周select * from 表 where datediff('w',日期字段,now())=0
本月select * from 表 where datediff('m',日期字段,now())=0
本季select * from 表 datediff('q',日期字段,now())=0
DateAdd 函数
描述:返回已添加指定时间间隔的日期。
语法:DateAdd(interval, number, date)
interval: 必选。字符串表达式,表示要添加的时间间隔。有关数值,请参阅“设置”部分。
number: 必选。数值表达式,表示要添加的时间间隔的个数。数值表达式可以是正数(得到未来的日期)或负数(得到过去的日期)。
date: 必选。Variant 或要添加 interval 的表示日期的文字。
interval 参数可以有以下值:
yyyy (年) 、q (季度) 、m (月) 、y (一年的日数) 、d (日) 、w (一周的日数) 、ww (周) 、h (小时) 、n (分钟) 、s (秒)
说明:可用 DateAdd 函数从日期中添加或减去指定时间间隔。例如可以使用 DateAdd 从当天算起 30 天以后的日期或从现在算起 45 分钟以后的时间。要向 date 添加以“日”为单位的时间间隔,可以使用“一年的日数”(“y”)、“日”(“d”)或“一周的日数”(“w”)。

DateAdd 函数不会返回无效日期。如下示例将 95 年 1 月 31 日加上一个月:
NewDate = DateAdd("m", 1, "31-Jan-95")
在这个例子中,DateAdd 返回 95 年 2 月 28 日,而不是 95 年 2 月 31 日。如果 date 为 96 年 1 月 31 日,则返回 96 年 2 月 29 日,这是因为 1996 是闰年。
如果计算的日期是在公元 100 年之前则会产生错误。
如果 number 不是 Long 型值,则在计算前四舍五入为最接近的整数。

DateDiff 函数
描述:返回两个日期之间的时间间隔。
语法:DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear>)
interval: 必选。字符串表达式,表示用于计算 date1 和 date2 之间的时间间隔。有关数值,请参阅“设置”部分。
date1, date2: 必选。日期表达式。用于计算的两个日期。
firstdayofweek: 可选。指定星期中第一天的常数。如果没有指定,则默认为星期日。有关数值,请参阅“设置”部分。
firstweekofyear: 可选。指定一年中第一周的常数。如果没有指定,则默认为 1 月 1 日所在的星期。有关数值,请参阅“设置”部分。
interval 参数可以有以下值:
yyyy (年) 、q (季度) 、m (月) 、y (一年的日数) 、d (日) 、w (一周的日数) 、ww (周) 、h (小时) 、n (分钟) 、s (秒)
firstdayofweek 参数可以有以下值:
(以下分别为:常数 值 描述)
vbUseSystem 0 使用区域语言支持 (NLS) API 设置。
vbSunday 1 星期日(默认)
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六
firstweekofyear 参数可以有以下值:
(以下分别为:常数 值 描述)
vbUseSystem 0 使用区域语言支持 (NLS) API 设置。
vbFirstJan1 1 由 1 月 1 日所在的星期开始(默认)。
vbFirstFourDays 2 由在新年中至少有四天的第一周开始。
vbFirstFullWeek 3 由在新的一年中第一个完整的周开始。
说明:DateDiff 函数用于判断在两个日期之间存在的指定时间间隔的数目。例如可以使用 DateDiff 计算两个日期相差的天数,或者当天到当年最后一天之间的星期数。
要计算 date1 和 date2 相差的天数,可以使用“一年的日数”(“y”)或“日”(“d”)。当 interval 为“一周的日数”(“w”)时,DateDiff 返回两个日期之间的星期数。如果 date1 是星期一,则 DateDiff 计算到 date2 之前星期一的数目。此结果包含 date2 而不包含 date1。如果 interval 是“周”(“ww”),则 DateDiff 函数返回日历表中两个日期之间的星期数。函数计算 date1 和 date2 之间星期日的数目。如果 date2 是星期日,DateDiff 将计算 date2,但即使 date1 是星期日,也不会计算 date1。
如果 date1 晚于 date2,则 DateDiff 函数返回负数。
firstdayofweek 参数会对使用“w”和“ww”间隔符号的计算产生影响。
如果 date1 或 date2 是日期文字,则指定的年度会成为日期的固定部分。但是如果 date1 或 date2 被包括在引号 (" ") 中并且省略年份,则在代码中每次计算 date1 或 date2 表达式时,将插入当前年份。这样就可以编写适用于不同年份的程序代码。
在 interval 为“年”(“yyyy”)时,比较 12 月 31 日和来年的 1 月 1 日,虽然实际上只相差一天,DateDiff 返回 1 表示相差一个年份。

DatePart 函数
描述:返回给定日期的指定部分。
语法:DatePart(interval, date[, firstdayofweek[, firstweekofyear>)
DatePart: 函数的语法有以下参数:
interval: 必选。字符串表达式,表示要返回的时间间隔。有关数值,请参阅“设置”部分。
date: 必选。要计算的日期表达式。
firstdayof week: 可选。指定星期中的第一天的常数。如果没有指定,则默认为星期日。有关数值,请参阅“设置”部分。
firstweekofyear: 可选。指定一年中第一周的常数。如果没有指定,则默认为 1 月 1 日所在的星期。有关数值,请参阅“设置”部分。
interval 参数可以有以下值:
yyyy (年) 、q (季度) 、m (月) 、y (一年的日数) 、d (日) 、w (一周的日数) 、ww (周) 、h (小时) 、n (分钟) 、s (秒)
firstdayofweek 参数可以有以下值:
(以下分别为:常数 值 描述)
vbUseSystem 0 使用区域语言支持 (NLS) API 设置。
vbSunday 1 星期日(默认)
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六
firstweekofyear 参数可以有以下值:
(以下分别为:常数 值 描述)
vbUseSystem 0 使用区域语言支持 (NLS) API 设置。
vbFirstJan1 1 由 1 月 1 日所在的星期开始(默认)。
vbFirstFourDays 2 由在新年中至少有四天的第一周开始。
vbFirstFullWeek 3 由在新的一年中第一个完整的周(不跨年度)开始。
说明:DatePart 函数用于计算日期并返回指定的时间间隔。例如使用 DatePart 计算某一天是星期几或当前的时间。
firstdayofweek 参数会影响使用“w”和“ww”间隔符号的计算。
如果 date 是日期文字,则指定的年度会成为日期的固定部分。但是如果 date 被包含在引号 (" ") 中,并且省略年份,则在代码中每次计算 date 表达式时,将插入当前年份。这样就可以编写适用于不同年份的程序代码。

DateSerial 函数
描述:对于指定的年、月、日,返回 Date 子类型的 Variant。
语法:DateSerial(year, month, day)
year: 从 100 到 9999 之间的数字或数值表达式。
month: 任意数值表达式。
day: 任意数值表达式。
说明:要指定日期,如 1991 年 12 月 31 日,DateSerial 函数中每个参数的取值范围都应该是可接受的;即日的取值应在 1 和 31 之间,月的取值应在 1 和 12 之间。但是,也可以使用表示某日之前或之后的年、月、日数目的数值表达式为每个参数指定相对日期。
以下样例中使用了数值表达式代替绝对日期。在这里,DateSerial 函数返回 1990 年 8 月 1 日之前十年 (1990 - 10) 零两个月 (8 - 2) 又一天 (1 - 1) 的日期:即 1980 年 5 月 31 日。
DateSerial(1990 - 10, 8 - 2, 1 - 1)
对于 year 参数,若取值范围是从 0 到 99,则被解释为 1900 到 1999 年。对于此范围之外的 year 参数,则使用四位数字表示年份(例如 1800 年)。
当任何一个参数的取值超出可接受的范围时,则会适当地进位到下一个较大的时间单位。例如,如果指定了 35 天,则这个天数被解释成一个月加上多出来的日数,多出来的日数取决于其年份和月份。但是如果参数值超出 -32,768 到 32,767 的范围,或者由三个参数指定(无论是直接还是通过表达式指定)的日期超出了可以接受的日期范围,就会发生错误。

DateValue 函数
描述:返回 Date 子类型的 Variant。
语法:DateValue(date)
date 参数应是字符串表达式,表示从 100 年 1 月 1 日到 9999 年 12 月 31 日中的一个日期。但是,date 也可以是表示上述范围内的日期、时间或日期时间混合的任意表达式。
说明:如果 date 参数包含时间信息,则 DateValue 不会返回时间信息。但是如果 date 包含无效的时间信息(如 "89:98"),就会出现错误。
如果 date 是某一字符串,其中仅包含由有效的日期分隔符分隔开的数字,则 DateValue 将会根据为系统指定的短日期格式识别月、日和年的顺序。DateValue 还会识别包含月份名称(无论是全名还是缩写)的明确日期。例如,除了能够识别 12/30/1991 和 12/30/91 之外,DateValue 还能识别 December 30, 1991 和 Dec 30, 1991。
如果省略了 date 的年份部分,DateValue 将使用计算机系统日期中的当前年份。

Day 函数
描述:返回 1 到 31 之间的一个整数(包括 1 和31),代表某月中的一天。
语法:Day(date)
date 参数是任意可以代表日期的表达式。如果 date 参数中包含 Null,则返回 Null。

参考资料:http://admin120.com/article/2009/0301/article_2824.html

参考技术A 本周select * from 表 where datediff('w',日期字段,now())=0
本月select * from 表 where datediff('m',日期字段,now())=0
本季select * from 表 datediff('q',日期字段,now())=0
参考技术B 语法和SQL Server一样的,都是采用标准的SQL语言

* 获取本周本季度本月上月的开始日期结束日期

  1. /** 
  2.  * 获取本周、本季度、本月、上月的开始日期、结束日期 
  3.  */  
  4. var now = new Date();                    //当前日期     
  5. var nowDayOfWeek = now.getDay();         //今天本周的第几天     
  6. var nowDay = now.getDate();              //当前日     
  7. var nowMonth = now.getMonth();           //当前月     
  8. var nowYear = now.getYear();             //当前年     
  9. nowYear += (nowYear < 2000) ? 1900 : 0;  //    
  10.   
  11. var lastMonthDate = new Date();  //上月日期  
  12. lastMonthDate.setDate(1);  
  13. lastMonthDate.setMonth(lastMonthDate.getMonth()-1);  
  14. var lastYear = lastMonthDate.getYear();  
  15. var lastMonth = lastMonthDate.getMonth();  
  16.     
  17. //格式化日期:yyyy-MM-dd     
  18. function formatDate(date) {      
  19.     var myyear = date.getFullYear();     
  20.     var mymonth = date.getMonth()+1;     
  21.     var myweekday = date.getDate();      
  22.          
  23.     if(mymonth < 10){     
  24.         mymonth = "0" + mymonth;     
  25.     }      
  26.     if(myweekday < 10){     
  27.         myweekday = "0" + myweekday;     
  28.     }     
  29.     return (myyear+"-"+mymonth + "-" + myweekday);      
  30. }      
  31.     
  32. //获得某月的天数     
  33. function getMonthDays(myMonth){     
  34.     var monthStartDate = new Date(nowYear, myMonth, 1);      
  35.     var monthEndDate = new Date(nowYear, myMonth + 1, 1);      
  36.     var   days   =   (monthEndDate   -   monthStartDate)/(1000   *   60   *   60   *   24);      
  37.     return   days;      
  38. }     
  39.     
  40. //获得本季度的开始月份     
  41. function getQuarterStartMonth(){     
  42.     var quarterStartMonth = 0;     
  43.     if(nowMonth<3){     
  44.        quarterStartMonth = 0;     
  45.     }     
  46.     if(2<nowMonth && nowMonth<6){     
  47.        quarterStartMonth = 3;     
  48.     }     
  49.     if(5<nowMonth && nowMonth<9){     
  50.        quarterStartMonth = 6;     
  51.     }     
  52.     if(nowMonth>8){     
  53.        quarterStartMonth = 9;     
  54.     }     
  55.     return quarterStartMonth;     
  56. }     
  57.     
  58. //获得本周的开始日期     
  59. function getWeekStartDate() {      
  60.     var weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek);      
  61.     return formatDate(weekStartDate);     
  62. }      
  63.     
  64. //获得本周的结束日期     
  65. function getWeekEndDate() {      
  66.     var weekEndDate = new Date(nowYear, nowMonth, nowDay + (6 - nowDayOfWeek));      
  67.     return formatDate(weekEndDate);     
  68. }      
  69.     
  70. //获得本月的开始日期     
  71. function getMonthStartDate(){     
  72.     var monthStartDate = new Date(nowYear, nowMonth, 1);      
  73.     return formatDate(monthStartDate);     
  74. }     
  75.     
  76. //获得本月的结束日期     
  77. function getMonthEndDate(){     
  78.     var monthEndDate = new Date(nowYear, nowMonth, getMonthDays(nowMonth));      
  79.     return formatDate(monthEndDate);     
  80. }     
  81.   
  82. //获得上月开始时间  
  83. function getLastMonthStartDate(){  
  84.     var lastMonthStartDate = new Date(nowYear, lastMonth, 1);  
  85.     return formatDate(lastMonthStartDate);    
  86. }  
  87.   
  88. //获得上月结束时间  
  89. function getLastMonthEndDate(){  
  90.     var lastMonthEndDate = new Date(nowYear, lastMonth, getMonthDays(lastMonth));  
  91.     return formatDate(lastMonthEndDate);    
  92. }  
  93.     
  94. //获得本季度的开始日期     
  95. function getQuarterStartDate(){     
  96.          
  97.     var quarterStartDate = new Date(nowYear, getQuarterStartMonth(), 1);      
  98.     return formatDate(quarterStartDate);     
  99. }     
  100.     
  101. //或的本季度的结束日期     
  102. function getQuarterEndDate(){     
  103.     var quarterEndMonth = getQuarterStartMonth() + 2;     
  104.     var quarterStartDate = new Date(nowYear, quarterEndMonth, getMonthDays(quarterEndMonth));      
  105.     return formatDate(quarterStartDate);     
  106. }  

以上是关于asp取access数据库里本周、本月、本季度的记录,select语句怎么写?的主要内容,如果未能解决你的问题,请参考以下文章

thinkphp 查询当天 ,本周,本月,本季度,本年度,全部, 数据方法

JS获取本周本季度本月上月的开始日期结束日期

* 获取本周本季度本月上月的开始日期结束日期

PHP获取,昨天,本周,本月,本季度时间戳方法

SQL获取本周本月本季度的记录的语句

PHP获取上周本周上月本月本季度上季度时间