Sql-Server
19 位數字的最佳最小數據類型大小是多少?
我正在使用此程式碼來混合使用日期和時間,以便像唯一 ID 一樣使用它
DateTime.Now.ToString("yyyyMMddHHmmssfffff")
在 SQL Server 2017 中,我對可用於儲存此字元串的最佳最小數據類型大小感到困惑。
什麼是最好的最小數據類型:
bigint
,timestamp
或varchar(19)
?
當然,您不想使用varchar:您正在嘗試儲存數字,因此將其儲存到字元串中是沒有意義的。另外,無論您以後要做什麼,varchar 都是允許您不太靈活的欄位:使用它真的沒有意義。
您也想避免timestamp,因為它已被棄用,並且無論如何它都是為了不同的用途(它只是rowversion的同義詞)
然後您的選擇是在bigint和**datetime2(5)**之間,但鑑於您要求的精度為 5,它們都將使用 8 個字節,因此這裡沒有明確的贏家。datetime2可能具有的唯一優勢是,作為一個 datetime,它最好由 datetime 函式處理。相反, Bigint將允許您表示負年份(以防萬一)。