<del id="juync"></del>
        <thead id="juync"><option id="juync"></option></thead>
      1. <code id="juync"></code>

        <strike id="juync"></strike>
        <object id="juync"></object>

        益陽網站建設

        益陽網站建設是專業的網站制作和網站優化SEO的益陽網絡公司
        項目經理直線: 15660249568
        網站首頁 > > 新聞動態 > 建站指南 > > 正文

        垂詢熱線

        3303609113@qq.com

        3303609113 / 275100931

        3303609113@qq.com

        建站指南

        讓瀏覽者喜歡,讓客戶獲益是最高原則。

        Access時間日期比較,以及access與SQL2000日期查詢處理比較方法

        日期: 2015/1/5 17:05:20 點擊: 標簽:

        分享到: 更多

        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 )

        Access數據庫和SQL2000 時間日期查詢處理比較方法

        access與SqlServer 之時間與日期及其它SQL語句比較

        1、Datediff:

        1.1算出日期差:
        1.access:       datediff('d',fixdate,getdate())
        2.sqlserver:    datediff(day,fixdate,getdate())
        ACCESS實例:    select * from table where data=datediff('d',fixdate,getdate())
        sqlserver實例: select * from table where data=datediff(day,fixdate,getdate())

        1.2算出時間差:
        1.access:       datediff('h',fixdate,getdate())
        2.sqlserver:    datediff(Hour,'2004-12-10',getdate())
        ACCESS實例:    select DATEDIFF('h',HMD,getdate())
        sqlserver實例: select datediff(Hour,'2004-12-10',getdate())

        1.3算出月份差:
        1.access:       datediff('m',fixdate,getdate())
        2.sqlserver:    datediff(Month,'2004-12-10',getdate())
        ACCESS實例:    select DATEDIFF('m',HMD,getdate())
        sqlserver實例: select datediff(Month,'2004-12-10',getdate())

        2、日期變量
        1.access:       #"&data&"#
        2.sqlserver:    '"&data&"'
        ACCESS實例:    select * from table where data=#"&data&"#
        sqlserver實例: select * from table where data='"&data&"'

        3、是否
        1.access:       not finished
        2.sqlserver:    finished=0
        ACCESS實例:    select * from table where not finished
        sqlserver實例: select * from table where finished=0

        4、求余數

        1.access:       a mod b=100
        2.sqlserver:    a % b =100
        ACCESS實例:    select   a mod b=100 from table where not finished
        sqlserver實例: select a % b =100 from table where finished=0

        5、獲取當天日期
        1.access:       now()
        2.sqlserver:    getdate()
        ACCESS實例:    select   now()
        sqlserver實例: select getdate()


        本文網址:

        垂詢熱線

        15660249568
        展開懸浮客服
        回到頂部
        免费A片在线观看,免费可以看黄的视频,一本加勒比HEZYO高清,无码国模国产在线观看