2014-01-29 54 views
-3

我需要知道這種說法是這樣做的:試圖找出SQL語句

DATEADD(dd, DATEDIFF(dd, 0, startdate), 0) 

將不勝感激幫助。

+3

您是否閱讀過[DATEADD](http://technet.microsoft.com/en-us/library/ms186819.aspx)和[DATEDIFF](http://technet.microsoft.com/zh-cn/)我們/庫/ ms189794.aspx)? – PakkuDon

+1

你正在使用什麼數據庫? – Leo

+1

我看了看文檔無法理解,這就是爲什麼我在這裏發佈它,爲什麼每個人都如此消極,有些人沒有拿起像其他人一樣的東西 – user2028213

回答

0

documentationDATEDIFF()

返回指定的開始日期和結束日期之間越過指定datepart邊界的計數(帶符號的整數)。

所以這

DATEDIFF(dd, 0, startdate) 

返回日期0並在列STARTDATE值之間經過的天數。 Select以上功能並用GETDATE()(當前日期和時間)替換startdate。 當您將返回的值除以365時,您將得到類似於114的內容。當前年份 - 214 = 1900。因此日期「0」似乎爲1900-01-01 00:00:00

documentationDATEADD()

返回指定日期與指定數目的時間間隔(帶符號的整數)加入到該日期的指定datepart。

現在,當你這個值添加到日期「0」了,你知道現在的日期,因爲只有天數加到1900-01-01 00:00:00

時間值從日期時間值中除去。

+0

解釋得很好,我確實看過文檔,但無法理解它。 – user2028213

0

它剝離日期時間的時間部分