1. 程式人生 > >在SQLserver中如何獲得兩個日期相減的天數?

在SQLserver中如何獲得兩個日期相減的天數?

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。為避免模糊,請使用四位數的年份。

有關時間值指定的更多資訊,請參見時間格式。有關日期指定的更多資訊,請參見 datetime 和 smalldatetime。

enddate


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

返回型別
integer

註釋
startdate 是從 enddate 減去。如果 startdate 比 enddate 晚,返回負值。

當結果超出整數值範圍,DATEDIFF 產生錯誤。對於毫秒,最大數是 24 天 20 小時 31 分鐘零 23.647 秒。對於秒,最大數是 68 年。

計算跨分鐘、秒和毫秒這些邊界的方法,使得 DATEDIFF 給出的結果在全部資料型別中是一致的。結果是帶正負號的整數值,其等於跨第一個和第二個日期間的 datepart 邊界數。例如,在 1 月 4 日(星期日)和 1 月 11 日(星期日)之間的星期數是 1。


示例
此示例確定在 pubs 資料庫中標題釋出日期和當前日期間的天數。

USE pubs
GO
SELECT DATEDIFF(day, pubdate, getdate()) AS no_of_days
FROM titles
GO

相關推薦

SQLserver如何獲得日期天數?

DATEDIFF返回跨兩個指定日期的日期和時間邊界數。語法DATEDIFF ( datepart , startdate , enddate )引數datepart是規定了應在日期的哪一部分計算差額的引數。下表列出了 Microsoft® SQL Server™ 識別的日期部分和縮寫。日期部分 縮寫year

SQLServer 如何處理日期得到天數

DATEDIFF(datepart,   startdate,   enddate)         Datepart   Abbreviations       year   yy,   yyyy       quarter   qq,   q      

js控制日期

cti date check ffd new ken ret spl gettime function getOffDays(startDate, endDate){ var startDateArr = startDate.split("-"); var che

js日期

turn parse function fun func log pre date cti function dateHanle(d1,d2){ if(Date.parse(d1) - Date.parse(d2)==0) { console.log("

Java日期

import java.text.SimpleDateFormat; import java.util.Date; public class DateDifferentExample { pu

C#日期之間的天數、小時數、分鐘數

private void button1_Click(object sender, EventArgs e)        {            DateTime d1 = new DateTime(2004, 1, 1, 01, 36, 05);           

在java時間

間隔=Date1.getTime()-Date2.getTime();得出來的是毫秒數. 除1000是秒,再除60是分,再除60是小時. SimpleDateFormat myFormatter = new SimpleDateFormat( "yyyy-MM-dd "

Oracle計算日期時間的差

weight span num log 方法 bsp round code oracl --方法1 select floor((sysdate - to_date(‘2006-09-01 08:00:00‘, ‘yyyy-mm-dd hh24:m

日期獲取 02:02:10 格式 天 小時 分鐘

get -s pan cati gettime 獲取 微秒 class else Date d1 = vo.getAllocationtime(); Date d2 = new Date(); long diff = d2.getTime() - d1.ge

實現:判斷日期之間關系(相交,離,重合),得到相交重合的天數以及計算日期相差的天數

數值 以及 c++ 日期類 OS 錯誤 表達 單位 有一個 package com.xiawei.repeatdays; import java.util.Date; /** * 判斷日期之間關系(相交,相離,重合),得到相交重合的天數 * */public class R

編寫一個Java應用程式,當用戶在輸入對話方塊輸入日期後(日期格式為YYYYMMDD,如1999年1月12日應輸入為19990112),程式將判斷日期的先後順序,以及日期之間的間隔天數(例

編寫一個Java應用程式,當用戶在輸入對話方塊中輸入兩個日期後(日期格式為YYYYMMDD, 如1999年1月12日應輸入為19990112), 程式將判斷兩個日期的先後順序, 以及兩個日期之間的間隔天數(例如1999年1月1日和1999年1月2日之間的間隔是1天。  

PHP怎樣計算日期相差的天數

我想知道距今天n天前的時期是多少怎麼寫?或者說,比如  2002-03-27  和2001-09-27之間有多少天?   ---------------------------------------------------------------   先把時間轉變為年、

sqlserver返回日期間相差幾年零幾月零幾天,DATEDIFF通常不準確

--實際差12月+1天 select DATEDIFF(M,'2013-08-31','2014-09-01') as [13] ,DATEDIFF(D,'2013-08-31','2014-09-01') AS [366] ,DATEDIFF(D,'2013-08-31

Java計算日期間隔多少天

String dbtime1 = "2017-02-23";  //第二個日期 String dbtime2 = "2017-02-22";  //第一個日期//算兩個日期間隔多少天SimpleDat

java計算日期的月數差

   /**     * 獲取兩個日期相差的月數     * @param d2  較大的日期     * @param d1  較小的日期     * @return 如果d1>d2返回 月數差 否則返回0     */     public static int

iOS計算日期的間隔的天數

這裡用到了一個字串轉NSDate的方法 //現在的時間 NSDate * nowDate = [NSDate date]; //要轉換的字串 NSString

SQL得到日期之間相隔 xx天xx小時xx分xx秒

SQL SERVER中可以這麼做: DECLARE @dt1 AS datetime, @dt2 AS datetime; SELECT @dt1 = '2008-8-4 9:36:41', @dt2 = '2008-8-2 9:33:39'; DECLARE @Days

Java計算時間差(時間

在Android開發或者Java學習中,經常要求兩個時間差 比如說: 現在是 :2004-03-26 13:31:40 過去是:2004-01-02 11:30:24 我現在要獲得兩個日期差,差的形式為:XX天XX小時XX分XX秒 這前後時間可能是機器生成的,也

複數相加和複數

namespace ConsoleApplication1 {     class Program     {         static void Main(string[] args)         {             double a, b,c,d;             Console.

java計算日期之間相差多少天

近期在自己寫的一個專案中,發現了一個Bug.日期A的時間為2017-12-7,日期B的時間為2018-1-7。計算兩者之間相距多少天,居然是驚人的8900天。 錯誤的程式如下: import java.util.Date SimpleDateForma