2011-07-07 52 views

回答

5

DateTime!= timestamp

一個SQL timestamp是單調遞增的數量,表示爲二進制。不是時間。時間與時間無關,只是它們都是長期的。這就是爲什麼timestamp(作爲關鍵字)現在已被棄用(令人困惑),並被替換爲rowversion

你不能從timestamp時間。如果你想要的時間,存儲時間爲datetime

+0

那麼什麼是SQL使用時間戳數據類型的,以及爲什麼我們用這個? –

+1

'timestamp'(和'rowversion',它們是同義詞)用於執行樂觀併發和更改檢測,因爲如果有任何更改,您可以通過單個字段輕鬆檢查。這是因爲***任何***更改爲該記錄會自動將'timestamp' /'rowversion'更改爲新(更高)的號碼。 –

+0

那我可以使用到時間戳( 'gps_timestamp', ':MI:YYYY-MM-DD HH24 SS.FF')將日期轉換爲時間戳,在SQL – user285oo6

2

的SQL時間戳實際上不是datetime數據類型。這是一種自動生成的二進制數據類型,用於版本化您的行。因此,它不能轉換爲C#中的日期時間值。

更多信息,請參見the MSDN article

+0

如果我們想在aspx頁面上顯示時間戳值,那麼我們如何顯示這個值? –

+0

@Gaurav Agrawal - 時間戳數據類型通常不包含對顯示有價值的數據,因爲它通常只是自動生成的二進制(稍微隨機)的數據。如果您需要存儲日期數據類型,請在SQL中使用datetime數據類型。但是,如果您必須顯示此數據,則需要使用類似Convert.ToBase64String()的方式將數據轉換爲字符串。 –

相關問題