加为收藏
联系站长
设为首页
 首页 搜索 文件区 风格 Html页面版 注册 登陆 退出  
 您的位置:主页 社区版务 社区版务 贴子主题: ASP比较时间的SQL语句ACCESS查询中怎么写日期比较的SQL
版主: 飘逸狂想  
   飘逸狂想
  

  头衔:管理员
  等级:侠圣
  积分:12035
  允许:HTML,脚本
  注册:2002-10-23
点击这里发送电邮给飘逸狂想    访问飘逸狂想的主页    OICQ 删除该贴   编辑这个贴子  回复贴子
发贴心情 ASP比较时间的SQL语句ACCESS查询中怎么写日期比较的SQL
 

 http://blog.knowsky.com/255765.htm



  
    
      
    
  
一个asp小程序,日期的判断就是实现不了,如下解释。

      

代码一


      

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


      


Softly the snow dances from the heavens
Blanketing the world with its purity
I marvel at the beauty around me
I feel you near...
My heart overflows with love for you
Your love fills my soul
I listen ...

浏览:587 发表:2017-11-9 23:18:55 回复:2017-11-9 23:18:55 IP:保密   设置精华  固顶主题
共1个主题 首页 上一页 下一页 尾页 页次:1/1页  100个主题/页 转到:

 OumeiBBS 论坛程序 飘逸狂想开发 Oumei.Net 版权所有 ©2002 Version 3.6