2011-10-17 44 views
1

注意:我意識到這裏的問題不會嚴重影響性能或存儲大小在我的數據庫中,但我有興趣聽取專家意見(如果有的話)。存儲小負值

我正在編寫一個應用程序,需要對datetime值執行操作,並將生成的偏移量存儲在數據庫中。我預計偏移量會保持不變(大約爲-3),但由於源數據(每學期的開始日期)由大學級委員會設定,並且由於我的申請是以定期,可預測的時間間隔與聯繫學生打交道(這也將由委員會設置)有可能在-30到30之間。

我最初打算將結果偏移量存儲爲tinyint,但由於它在SQL Server 2008中未簽名,因此我不知道這裏最適合哪種方式。我應該使用smallint還是類似numeric(2,0)

+0

@Downvoter,這個問題出了什麼問題? – jwiscarson

回答

4

只需使用smallint即可。不要反套。

(插入標準文本約在這裏過早的優化。)

0

根據你的規模限制,我會傾向於一個不太容易出錯的實現,並給自己足夠的最小/最大值的餘地。使用一種數據類型,以滿足您今天的需求,並在將來爲所有可能的情況。如果您覺得您可能需要存儲空間,請給自己更大的數據類型。

無論是哪種情況,您的數據訪問層都必須適應數據庫的列大小。