MSSQL中的日期減價法

iSQlServer發表於2010-05-06
1  DECLARE @dt datetime;
 2  SET @dt = GETDATE();
 3  DECLARE @table table(caption varchar(20),value datetime);
 4 
 5  INSERT INTO @table VALUES('0',@dt);
 6  INSERT INTO @table VALUES('-1',@dt-1);
 7  INSERT INTO @table VALUES('-0.1',@dt-0.1);
 8  INSERT INTO @table VALUES('-0.01',@dt-0.01);
 9  INSERT INTO @table VALUES('-0.001',@dt-0.001);
10  INSERT INTO @table VALUES('-0.0001',@dt-0.0001);
11  INSERT INTO @table VALUES('-0.00001',@dt-0.00001);
12  INSERT INTO @table VALUES('-0.000001',@dt-0.000001);
13  INSERT INTO @table VALUES('-0.0000001',@dt-0.0000001);
14  
15  SELECT * FROM @table
16 

 

 

顯示結果:

 

caption           value
0         2010-05-05 18:50:03.547
-1        2010-05-04 18:50:03.547
-0.1       2010-05-05 16:26:03.547
-0.01       2010-05-05 18:35:39.547
-0.001       2010-05-05 18:48:37.147
-0.0001       2010-05-05 18:49:54.907
-0.00001     2010-05-05 18:50:02.683
-0.000001     2010-05-05 18:50:03.463
-0.0000001     2010-05-05 18:50:03.540

 

那麼,他到底是怎麼計算的。稍微專注的人立即看出,當-1時,日期剛好減去一天,所以我們可以這麼理解:

日期-1=減去1天。

那麼接下來的,只需要轉換一下就明白了。

日期-0.1=今天日期減去0.1

是0.1天,那麼0.1天是多少呢?恍然覺悟,原來是按照分鐘加減的。

1天等於24個小時乘以60分鐘

0.1等於24個小時乘以60分鐘,再乘以0.1

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-662041/,如需轉載,請註明出處,否則將追究法律責任。

相關文章