Sql-Server

19 位數字的最佳最小數據類型大小是多少?

  • August 16, 2018

我正在使用此程式碼來混合使用日期和時間,以便像唯一 ID 一樣使用它

DateTime.Now.ToString("yyyyMMddHHmmssfffff")

在 SQL Server 2017 中,我對可用於儲存此字元串的最佳最小數據類型大小感到困惑。

什麼是最好的最小數據類型:bigint,timestampvarchar(19)?

當然,您不想使用varchar:您正在嘗試儲存數字,因此將其儲存到字元串中是沒有意義的。另外,無論您以後要做什麼,varchar 都是允許您不太靈活的欄位:使用它真的沒有意義。

您也想避免timestamp,因為它已被棄用,並且無論如何它都是為了不同的用途(它只是rowversion的同義詞)

然後您的選擇是在bigint和**datetime2(5)**之間,但鑑於您要求的精度為 5,它們都將使用 8 個字節,因此這裡沒有明確的贏家。datetime2可能具有的唯一優勢是,作為一個 datetime,它最好由 datetime 函式處理。相反, Bigint將允許您表示負年份(以防萬一)。

引用自:https://dba.stackexchange.com/questions/215043