sybase日期比較函式DateDiff()函式

2021-05-26 18:51:13 字數 2605 閱讀 8779

datediff函式 是乙個非常有用的函式,它可以為一些網頁做一些特殊的效果.

我就曾用到它和一張'new'字樣的 來區別網頁顯示的資訊是否為最近的資訊.

例如:提示最近的通知,最近的新聞等等.

在看完上面的介紹,我們在使用時,例如:在gridview 或者 datelist 繫結資料的後面加上一句

< img src = ' <%#(convert.toint16(databinder.(container.dataitem,"daycount"))<3)?"images/new.gif":"images/none.gif" %> ' border = " 0 " >

在後台**中:

繫結資料時sql語句用

string sql = " select top 10 tid,title,datediff(day,tdate,getdate()) as daycount from tb order by tid desc "

其中 tdate 是你發布資訊的時間, daycount就是當前時間與發布資訊時間的間隔, 上例中選間隔時間在3天內的標記乙個"new".

datediff

返回跨兩個指定日期的日期和時間邊界數。

一、 語法

datediff ( datepart , startdate , enddate )

二、引數

datepart

是規定了應在日期的哪一部分計算差額的引數。下表列出了 microsoft® sql server? 識別的日期部分和縮寫。

日期部分 縮寫

year yy, yyyy

quarter qq, q

month mm, m

dayofyear dy, y

day dd, d

week wk, ww

hour hh

minute mi, n

second ss, s

millisecond ms

startdate

是計算的開始日期。startdate 是返回 datetime 或 smalldatetime 值或日期格式字串的表示式。

因為 smalldatetime 只精確到分鐘,所以當用 smalldatetime 值時,秒和毫秒總是 0。

如果您只指定年份的最後兩位數字,則小於或等於"兩位數年份截止期"配置選項的值的最後兩位數字的數字所在世紀與截止年所在世紀相同。大於該選項的值的最後兩位數字的數字所在世紀為截止年所在世紀的前乙個世紀。例如,如果 two digit year cutoff 為 2049(預設),則 49 被解釋為 2049,2050 被解釋為 1950。為避免模糊,請使用四位數的年份。

enddate

是計算的終止日期。enddate 是返回 datetime 或 smalldatetime 值或日期格式字串的表示式。

三、返回型別

integer

四、用法

此函式計算兩個指定日期之間日期部分的數目。結果為日期部分中等於(date2 - date1)的有符號的整數值。

當結果不是日期部分的偶數倍時,datediff 將被截斷而不是被捨入。

當使用 day 作為日期部分時,datediff 返回兩個指定的時間之間(包括第二個日期但不包括第乙個日期)的午夜數。

當使用 month 作為日期部分時,datediff 返回兩個日期之間(包括第二個日期但不包括第乙個日期)出現的月的第一天的數目。

當使用 week 作為日期部分時,datediff 返回兩個日期(包括第二個日期但不包括第乙個日期)之間星期日的數目。

對於更小的時間單位存在溢位值:

milliseconds 24 天

seconds 68 年

minutes 4083 年

others 沒有溢位限制

如果超出這些限制,此函式將返回溢位錯誤。

五、標準和相容性

sql/92 transact-sql 擴充套件。

sql/99 transact-sql 擴充套件。

sybase 與 adaptive server enterprise 相容。

六、示例

下面的語句返回 1 :

select datediff ( hour, '' 4 :00am '' , '' 5 :50am '' )

下面的語句返回 102 :

select datediff ( month , '' 1987 / 05 / 02 '' , '' 1995 / 11 / 15 '' )

下面的語句返回 0 :

select datediff ( day , '' 00 : 00 '' , '' 23 : 59 '' )

下面的語句返回 4 :

select datediff ( day , '' 1999 / 07 / 19 00 : 00 '' , '' 1999 / 07 / 23 23 : 59 '' )

下面的語句返回 0 :

select datediff ( month , '' 1999 / 07 / 19 '' , '' 1999 / 07 / 23 '' )

下面的語句返回 1 :

select datediff ( month , '' 1999 / 07 / 19 '' , '' 1999 / 08 / 23 '' )

sybase 日期函式

getdate 得到當前時間 可以設定得到各種時間格式 datepart 日期部分,日期 取指定時間的某乙個部分 年月天時分秒 datediff 日期部分,日期 1,日期 2 計算指定的日期 1和日期 2的時間差多少 dateadd 日期部分 數值表示式,日期 計算指定時間 再加上表示式指定的時間長...

sybase日期函式

sybase日期函式 1 獲取當前日期時間 getdate select getdate www.2cto.com 2 取指定時間的某一部分 datepart 日期部分,日期 取時間的某乙個部分 select datepart yy,getdate year select datepart mm,g...

Sybase日期函式

日期函式 getdate 得到當前時間,可以設定得到各種時間格式.datepart 日期部分,日期 取指定時間的某乙個部分,年月天時分秒.datediff 日期部分,日期1,日期2 計算指定的日期1和日期2的時間差多少.dateadd 日期部分,數值表示式,日期 計算指定時間,再加上表示式指定的時間...