SQL 中時間戳如何使用sql查詢系統時間戳,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
介紹
公開數據庫中自動生成的唯一二進制數字的數據類型。
通常用作給表行加版本戳的機制。
存儲大小為 8 個字節。不可為空的 列在語義上等價于 (8) 列。可為空的 列在語義上等價于 (8) 列。這將導致在C#程序中獲取到的類型則變成了byte[]類型。所以如果我們需要從數據庫中獲取并使用這個時間戳的話就必需經過轉換。
數據類型只是遞增的數字,不保留日期或時間。若要記錄日期或時間,請使用 數據類型。
一個表只能有一個 列。每次插入或更新包含 列的行時, 列中的值均會更新。對行的任何更新都會更改 值。
我們可以將轉換為十六進制或,來方便進行比較和查看:
SELECT TS
,CAST(TS AS VARBINARY(8)) AS 'timestamp轉十六進制'
,CONVERT(BIGINT,TS) AS 'timestamp轉bigint類型'
FROM tb_Ts
WHERE
CONVERT(BIGINT,TS)>=18004
結果:
總結:SQL 數據類型與時間和日期無關。SQL 是二進制數字,它表明數據庫中數據修改發生的相對順序。實現 數據類型最初是為了支持 SQL 恢復算法。每次修改頁時,都會使用當前的 @@DBTS 值對其做一次標記,然后 @@DBTS 加1。這樣做足以幫助恢復過程確定頁修改的相對次序sql查詢系統時間戳,但是 值與時間沒有任何關系。@@DBTS 返回當前數據庫最后使用的時間戳值。插入或更新包含 列的行時,將產生一個新的時間戳值。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。