ASP比较时间的SQL语句ACCESS查询中怎么写日期比较的SQL语句

ASP比较时间的SQL语句ACCESS查询中怎么写日期比较的SQL语句

代码一

select * from 表名 where DateDiff( "d", 日期字段列名, #指定日期#) <= 0

代码二

select * from 表名 where 日期字段列名>#指定日期#

ASP比较时间的SQL语句,其中d为天数!

access
select * from [table] where datediff('d',时间字段,Now())=0

 



Sql Server
select * from [table] where datediff(d,时间字段,GetDate())=0

 

网站系统使用ACCESS数据库时,查询时怎么比较日期和时间呢?为什么常常比较出来却是错误的呢?比如早的日期比迟的日期大?

在ASP中先做一个小测试,就是比较两个日期,代码如下:

<%="2007-2-1" > "2007-10-01"%>

结果显示为:True

奇怪了,为什么大日期还小呢?把日期的双引号去掉,还是返回:True

那是怎么回事呢?原来是单纯时间或用双引号括起来,在ASP中不代表时间,时间需要用两个井号(#)括起来,如下:

<%=#2007-2-1# > #2007-10-01#%>

这回就返回False了,证明时间比较已经正确。

所以在ASP中需要用井号括起来。ASP还有其他日期函数用来做比较的,那就是:DateDiff,语法如下:

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

一般使用 DateDiff( 间隔字符, 日期1, 日期2) 就足够了。

解释一下:此函数返回间隔的日期或时间,返回的是年、月、日就要设置间隔字符了,比如间隔字符为:"yyyy" 就表示比较年份, "d" 比较日期,"m" 比较月份,如果日期1晚于日期1,那么会返回负数

举个例子:

<%=DateDiff( "d", #2008-1-10#, #2008-1-2#)%>

结果是:-8

ACCESS查询中怎么写日期比较的SQL语句?

1、首先在设计ACCESS数据表时,日期字段必须为:日期/时间,如果字段类型为字符等,日期比较时会不正确。

2、SQL语句例子(查找比指定日期后的记录):

代码一

select * from 表名 where DateDiff( "d", 日期字段列名, #指定日期#) <= 0

代码二

select * from 表名 where 日期字段列名>#指定日期#

注意指定日期两边要用井号括起来的。

转载于:https://www.cnblogs.com/zhangbinghe/archive/2010/03/01/1675930.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值