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

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 )

查询某一年的数据:

select * from dt_article where  DateDiff( "yyyy", add_time, #2012-1-1#) <=0 AND DateDiff( "yyyy", add_time, #2012-1-1#)>=0
时间: 2024-10-25 17:31:43

Access时间日期比较查询的方法总结的相关文章

时间日期的一些处理方法

今天遇到了一个问题,要查询今天添加到一个表中的数据,后来解决了,嗯,记录一下: SELECT * FROM 表1 WHERE convert(varchar(10),表1.创建时间,120)=CONVERT(VARCHAR(10),GETDATE(),120) 如果是本月的话: SELECT * FROM 表1 WHERE convert(varchar(7),表1.创建时间,120)=CONVERT(VARCHAR(7),GETDATE(),120) 为了这个,又查了下日期函数,记录一下: 1

实例365(6)---------DateTime.ToString格式化日期,使用DateDiff方法获取日期时间的间隔数

一:DateTime.ToString格式化日期,截图 二:代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace TmrFormat { public part

solr和java时区时间日期转化方法

我们一般得到的时间为当地时区的时间,而我存储到服务器上时想得到格林威治时间(GMT)和世界协调时间(UTC).一种是通过时间差计算:目标时区时间+时区差=本时区的时间.另一种则是通过设置时区不过要调用set方法,在多线程情况下调用set会发生错误,所以最好使用第一种: 第一种代码: package com; import java.text.SimpleDateFormat; import java.util.Date; import java.util.TimeZone; public cla

(转)java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明)

java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明);部分资料参考网络资源 1. java向MySQL插入当前时间的四种方式 第一种:将java.util.Date类型的时间转成mysql数据库识别的java.sql.Date类型时间 注:java.util.Date是java.sql.Date的父类 Date time= new java.sql.Date(newjava.util.Date().getTime()); 第二种: java用PreparedS

时间日期函数,类型转化,子查询,分页查询

1.时间日期函数: SET DATEFIRST 1 --设置星期一为第一天--datepart函数,返回时间日期中的某一个部分--参数1是指返回哪一个部分,dw表示dayofweek--参数2是指哪个时间日期里面去返回--datefirst是系统常量,在使用时需要加上@@SELECT @@DATEFIRST AS '1st Day', DATEPART(dw, GETDATE()) AS 'Today'--getdate指在执行时获取当前系统时间SELECT GETDATE()--在执行时取当前

java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明)

java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明);部分资料参考网络资源 1. java向MySQL插入当前时间的四种方式 第一种:将java.util.Date类型的时间转成mysql数据库识别的java.sql.Date类型时间 注:java.util.Date是java.sql.Date的父类 Date time= new java.sql.Date(newjava.util.Date().getTime()); 第二种: java用PreparedS

SQL server 模糊查询 排序 聚合函数 数学函数 字符串函数 时间日期函数 转换、函数转换

create database lianxi831  --创建数据库gouse lianxi831  --引用数据库gocreate table xs  --插入表格( code int not null,  --写入内容 name varchar(10), cid varchar(18), banji varchar(10), yufen decimal(18,2), shufen decimal(18,2), yingfen decimal(18,2),)goinsert into xs v

Android随笔之——Android时间、日期相关类和方法

今天要讲的是Android里关于时间.日期相关类和方法.在Android中,跟时间.日期有关的类主要有Time.Calendar.Date三个类.而与日期格式化输出有关的DateFormat和SimpleDateFormat,今天会稍微提到关于这两个类的用法,下次会找个时间细讲. 一.Time类 在官方的API中,有建议说使用Time代替Calendar,原因不明,据说用Time对CPU的负荷比较小. 在Time中,年月日时分秒的转义字符分别对应%Y%m%d%H%M%S,切记,大小写千万不能写错

0831 模糊查询,排序查询,聚合函数,时间日期函数,数学函数,字符串函数

create database lianxi0720gouse lianxi0720gocreate table student( code int not null,--学号,不可为空 name varchar(10),--学生姓名 sex varchar(10),--性别 banji varchar(10),--班级 yufen decimal(18,2),--语文分数 shufen decimal(18,2),--数学分数 yingfen decimal(18,2),--英语分数)go--