在表定義我看到:經度/緯度值的數據庫存儲在SQL Server:十進制(?2)
Latitude -> varchar(50)
Longitude -> nvarchar(50)
隨即,很明顯,我質疑這背後的想法 - 是積極肯定這些價值觀實際上是數字性質的。長話短說:我假設這些將是數字,實際上是十進制的,我們將放棄「思想中的字符串」的哲學。
現在我左右爲難,我只是說幹就幹,鍵入:
Latitude -> decimal(2, 4)
但是等一下,4
是不對的,對不對?對。所以我想我會在實現之前達到這個門檻(我可以在一分鐘內添加),6
或8
也許不會削減它。所以,第一件事先...
我是否堅持我們這樣做呢?如果是這樣的話......
爲了確保我們可以保留要插入的整個值,應該將這些值存儲到什麼精度?例如,有什麼預定義的規範?
原則上,我不只是想用Latitude -> decimal(2, 16)
之類的東西,僅僅是因爲它與decimal(2, 2)
一樣有缺陷。對於經度也有類似的問題,但我假設一個答案就足夠了另一個,即decimal(3, answer)
。
我們使用MSSQL Server 2005的
看來我通過人工經驗與SQL Server教育自己,並因此使這個問題不相干的部分:我只能用decimal(x, max(x))
不decimal(x, y)
反正!將問題留作輸入。
您使用的是哪個版本的SQL Server? 2008年爲笛卡爾和橢球場景構建了一些本地地理空間類型。他們分別被稱爲幾何和地理。 – 2011-02-11 16:24:01