PostgreSQL:CAST() 作为货币:指定货币

psi*_*bin 5 sql postgresql formatting

我希望在 PSQL 中铸造货币时将货币指定为 GBP。目前,这会将格式化值作为 USD 前缀(带有 $):

\n\n
SELECT CAST(SUM(cost) AS MONEY) AS Total FROM orders;\n
Run Code Online (Sandbox Code Playgroud)\n\n

给出:

\n\n
Total | $13,266,314.00\n
Run Code Online (Sandbox Code Playgroud)\n\n

有没有一种好的方法来指定\xc2\xa3何时铸造金钱而不是$或将需要CONCAT(), ROUND()and TO_CHAR()

\n

Vig*_*r A 7

您可以在 postgresql.conf 中或在您的 sql 客户端中设置 lc_monetary。\n这是后一个测试用例:

\n\n
set lc_monetary to "en_IE.utf8";\nselect 10::money;\n\n money  \n--------\n \xe2\x82\xac10.00\n(1 row)\n
Run Code Online (Sandbox Code Playgroud)\n