2011-05-08 57 views
1

我想存儲時區,但不在timezoneoffset數據類型中。我應該使用小數還是浮點數?或者是其他東西?紐芬蘭的時區可以是格林威治標準時間-3.5分,印度的部分時區可以是+5.5,因此int不起作用。用於存儲時區的數據類型

+1

那麼像「美國/溫哥華」這樣的時區怎麼樣? DST調整(當它發生時,如果它存在的話)取決於政治因素,所以使用基於城市的時區有一個很好的論點。 – 2011-05-08 03:24:30

回答

1

爲什麼不使用查找表?它看起來像這樣:

create table TimeZone (
    id int identity primary key, 
    name varchar(50), 
    offset decimal(2,1) 
) 

從主表中引用外鍵。

+0

如果我只是想選擇一個數據類型呢?什麼是在SQL服務器中選擇的數據類型? – frenchie 2011-05-08 03:31:57

+0

在我的情況下,你會使用一個int,並使其成爲引用上述表的外鍵。除了datetimeoffset之外,您唯一的其他選項是小數或數字列。我傾向於使用單獨的表格方法,因爲您可以使用它來驅動用戶界面中的下拉菜單,並且可以提供更好的報告。 – 2011-05-08 03:38:30

+0

如果我帶小數點,我該用什麼?十進制(4,2)? – frenchie 2011-05-08 04:08:22

相關問題