2013-04-09 60 views
2

我在考慮將我的PG 9.2數據庫模式的numeric列轉換爲money,主要是因爲我看到(或想象?)在數據庫級別處理舍入和格式時的好處,而不是應用程序級別。這個決定會有一些缺點嗎?使用PostgreSQL的錢類型而不是數字

+1

[「Output ...取決於語言環境」](http://www.postgresql.org/docs/current/interactive/datatype-money.html),所以您可能會有*有趣的驚喜。我傾向於使用'數字'作爲貨幣,但我會讓其中一位專家多說一些。 – 2013-04-09 01:52:22

+1

我剛剛發現''數字'的'精確'和'規模':我可能會用這個來代替'money'。 – cjauvin 2013-04-09 02:04:44

+1

我經常發現創建一個'DOMAIN'僞類型的精度和規模我想要隨處使用。它仍然是'數字',所以它表現得很健全,但它是一致的。顯式舍入通常是明智的。 – 2013-04-09 05:02:24

回答

6

棒與數字:

  1. 這是從我所聽到的

  2. 輸出是一致的更快。這意味着什麼是一致的。您是否需要在存儲或檢索(或在應用程序)中執行舍入的問題。在很多情況下,您可能希望存儲小數分和數字,這樣可以安全地執行此操作。

另一件事是,如果你想添加多幣種支持,你會發現數字比金錢更好。這是因爲貨幣符號取決於您的區域設置,因此您可以插入$ 100,更改您的區域設置並顯示100¥,這不可能與除非發生大規模經濟變動的數量相同。

我做財務會計軟件。我們決定堅持使用數字,我們對此非常滿意。

+0

只是一個快速更新,#1是錯誤的,錢類型的主要優點是性能。說,那裏有相當多的問題,詳細的響應檢查http://stackoverflow.com/a/15729573/227225 – 2014-12-01 08:49:50

1

我正在將MySQL遷移到PostgreSQL。我決定使用'號碼'而不是'錢',因爲: - 1)錢本地敏感,這意味着如果我們需要,默認情況下不可能有2種貨幣。 2)如果我希望數字可以作爲金錢使用,可以將數字轉換爲金錢。

相關問題