2009-07-25 69 views

回答

17

精度和範圍(因此,一切重要;-p)

從MSDN:

.NET System.DateTime

DateTime值類型表示值的範圍從12:00日期和時間: 00午夜,0001年1月1日Anno Domini(公共時代)至公元9999年12月31日11:59:59 PM

時間值是以100納秒爲單位蜱,和一個特定的日期是蜱的數目,因爲午夜12:00,1月1日,0001 AD(CE)在GregorianCalendar的月份牌

Transact SQL datetime

日期範圍:1753年1月1日,通過12月31日,9999

精度:四捨五入到.000,.003,或0.007秒

增量
+0

優秀!我想在c#中編寫一個函數,它獲取string類型的參數並將其轉換爲datetime。我想將函數的返回值保存到數據庫中。該函數應該處理一個空字符串,在這種情況下它應該返回null。但不能插入null。怎麼了? – odiseh 2009-07-25 09:13:43

+0

可能只是您需要在.NET代碼中使用DBNull.Value來表示數據庫null。 – 2009-07-25 09:25:00

11

您還可以使用DATETIME2 SQL Server 2008的預的cision也有100ns。實際上,它是爲了匹配.NET DateTime精度而引入的。

datetime2 (Transact-SQL)

6

是的。

的C#當量SQL時間類型是SqlDateTime

所以,定義SQL調用(當然,參數集存儲特效)使用SQLDATETIME。有利的是,您可以捕獲任何溢出或超出範圍的錯誤構建命令,而不是從數據庫引擎執行時。

相關問題