2012-03-20 32 views

回答

6

這是不可能的。

「timestamp數據類型只是一個遞增的數字,不 保存日期或時間。」

http://msdn.microsoft.com/en-us/library/ms182776%28v=SQL.90%29.aspx

+0

取決於DBRMS。在Sybase 12中,您不會找到類型爲DateTime的日期時間,它將始終顯示一種名爲timestamp的類型,它實際上只是一種DateTime,只是其他格式。 – Offler 2013-10-28 15:12:51

+0

@Offler:我假設SQL Server的OP意味着SQL Server,而不是任何其他DBRMS。 ;) – Guffa 2013-10-28 15:35:01

2

你不能。 timestamp數據類型是rowversion的別名;它是一個二進制遞增值,它不是由也不基於日期&時間組成的。

+0

如果我是正確的,其實rowversion是時間戳的別名。 – 2012-03-20 13:02:28

1

時間戳類型不是日期或時間,但僅僅是被保證是在數據庫中唯一一個生成的數的表示。因此,它不能直接轉換。

執行粗略轉換的唯一方法是將當前時間與時間戳一起定期存儲在新表中,然後選擇哪個時間最接近要轉換的時間戳。

或者,您可能想要向類型爲datetime的表中添加一個新列,並在行更改時更新此列。

0

Transact-SQL時間戳數據類型是一個二進制數據類型,沒有時間相關值.....,時間戳既不是日期也不是時間。所以,你不能這樣做......見BOL:

時間戳:

時間戳是暴露自動生成的二進制數,其被保證是一個數據庫中是唯一的數據類型。時間戳通常用作對錶格行進行版本標記的機制。存儲大小是8個字節。

相關問題