文章类型: DATABASE
关键词: Access,sql,时间日期,比较,查询,方法,总结
内容摘要: Access时间日期比较查询的方法总结

Access时间日期比较查询的方法总结

2017/11/13 10:01:32    来源:apple    阅读:

Access日期时间比较查询语句困扰过很多网友,这里给大家整理了一下Access日期比较查询的几种方法,假定数据表明为TblName,日期/时间字段名为FDate(这里不能讲FDate设置为字符串,否则比较查询结果不正确)。

1.Access数据表日期字段同日期字符串直接比较

以下是查询2012年12月12日以后的数据的SQL语句。


select * from TblName where DFDate>#2012-12-12#


注意:Access日期查询时,表示日期的字符串前后要加#

2.Access数据表日期字段同日期类型变量直接比较

这种方法其实等同于方法一,以下是查询比当前日期(如2012-12-12)早10天的数据的SQL语句。


DateTime queryDate=DateTime.Now.AddDays(-10);
string sql = "select * from TblName where DFDate>#"+queryDate+"#";


3.使用DateDiff函数对Access日期字段比较查询

DateDiff,语法如下:

DateDiff( 间隔字符, 日期1, 日期2 [,firstdayofweek[, firstweekofyear]])

通常只需要使用以下方式

DateDiff( 间隔字符, 日期1, 日期2)

这个函数比较的结果是“日期2-日期1”,如果日期1晚于日期2,就会返回负数,其中间隔字符有以下几种表示方式:


"yyyy" 比较年份
"d"    比较日期
"m"    比较月份


示例如下:


select DateDiff( "d", #2012-12-12#, #2012-12-2#)
SQL查询结果是:
-10,表示前面的日期比后面的日期晚10天

select DateDiff( 
"m", #2012-10-12#, #2012-12-2#)
SQL查询结果是:
2,表示前面的日期比后面的日期早两个月

select DateDiff( 
"yyyy", #2012-10-12#, #2010-12-2#)
SQL查询结果是:
-2,表示前面的日期比后面的日期晚两年


以下是Access使用DateDiff函数查询2012年12月12日以后的数据的SQL语句。


select * from TblName where DateDiff( "d", DFDate, #2012-12-12#)<0


4.使用DateDiff函数查询Access日期字段等于某个日期的SQL语句

假定数据库中某条记录的FDate=2012-12-12 12:12:12

以下语句的查询结果为0条记录,因为数据库中还包含时间信息,而查询条件中无时间信息。


select * from TblName where FDate=#2012-12-12#


如果想得到正确的查询结果(1条记录),则需要使用以下SQL语句查询(查询日期为2012年12月12日的数据记录)。


select * from TblName where DateDiff( "d", FDate, #2012-12-12#) <=0 AND DateDiff( "d", FDate, #2012-12-12#)>=0


5.要查询出签收时间在处理时间的第二天的14:00:00以前的数据


Select 签收时间,CDate(Format(DateAdd("d"1,处理时间),"yyyy-mm-dd")+" 14:00:00") from 表 where 签收时间 < CDate(Format(DateAdd("d"1, 处理时间),"yyyy-mm-dd")+" 14:00:00")


下面的语句查询出签收时间在当天或是在第二天的14:00:00之前的所有数据


select * from table where DATEDIFF(D,CONVERT(datetime,[处理时间],120),CONVERT(datetime,[签收时间],120))<1 or ( DATEDIFF(D,CONVERT(datetime,[处理时间],120),CONVERT(datetime,[签收时间],120))=1 and DATEPART(HOUR,CONVERT(datetime,[签收时间],120))<14 )

↑ 上一篇文章:catch(CException *e)捕获异常 关键词:VC,c++,catch,CException,,捕获,异常 发布日期:2017/11/9 15:08:44
↓ 下一篇文章:sql如何查询表的第一条记录和最后一条记录 关键词:sql,查询,表,第一条,记录,最后一条 发布日期:2017/11/13 15:04:13
相关文章:
Access SQL update修改数据提示 操作必须使用一个可更新的查询 关键词:Access,SQL,update,修改,数据,提示,操作必须使用一个可更新的查询 发布日期:2017-11-22 16:30
ACCESS数据库的SQL语句总结 关键词:ACCESS,数据库,SQL,语句,总结 发布日期:2017-10-18 16:18
使用C#编程和SQL的存储过程来处理日期时间的复合查询问题 关键词:C#,SQL,存储过程,日期时间,时间日期,DateTime,复杂查询 发布日期:2015-07-14 16:20
相关目录:.NETVC&C++DATABASE软件开发
我要评论
正在加载评论信息......