我需要创建货币符号列并尝试将其保存为具有unicode值的bytea,但我在数据库管理器(intellij)中将其视为原始代码,而不是实际的符号字符。 什么是最好和最可接受的方式?
答案 0 :(得分:0)
我必须完全忽视这一点,因为我只会:
x=# with utf(sign,currency) as (values(e'\u20BD','Rubble'),(e'\u20AC','Euro'),(e'\u20AF','Drachma'))
select *,pg_typeof(sign) from utf;
sign | currency | pg_typeof
------+----------+-----------
₽ | Rubble | text
€ | Euro | text
₯ | Drachma | text
(3 rows)
取自https://www.w3schools.com/charsets/ref_utf_currency.asp
的UTF代码最初也想要使用postgres内部货币类型,因为它将符号放在正确的位置(金额之前或之后),但在印地语区域失败:
x=# set lc_monetary TO 'hi_IN';
ERROR: invalid value for parameter "lc_monetary": "hi_IN"
Time: 0.332 ms
x=# set lc_monetary TO 'EN_ie';
SET
Time: 0.514 ms
x=# select 1::money;
money
-------
€1.00
(1 row)
Time: 3.313 ms
x=# set lc_monetary TO 'RU_ru';
SET
Time: 10.178 ms
x=# select 1::money;
money
-----------
1,00 руб.
(1 row)