2015-07-02 3 views
0

У меня есть столбец (тип числовой). Я печатаю бросил его деньги в качестве

PostgreSQL
Cast (amount_total as money) 

Когда я запроса данных он показывает, как

$ 1,026,073.00 

Как удалить этот знак доллара?
И если возможно, я могу заменить его на цифру indian rupee?

+0

Что такое LC_CTYPE для Индии? .. –

+0

Почему вы накладываете «числовые» на «деньги» в первую очередь? Что вы ожидаете от этого? И, как всегда, укажите свою версию Postgres, пожалуйста. –

ответ

1

уверены, проверьте, если ваша операционная система поддерживает его:

bash# locale -a | grep en_IN 
    en_IN 
    en_IN.utf8 

затем SQL:

SQL> set LC_N 

SQL> set LC_MONETARY='en_IN'; 
SET 
SQL> select 1.2::float8::numeric::money; 
money 
-------- 
₹ 1.20 
(1 row) 

read

и в случае, если вы просто хотите, чтобы избавиться от знака доллара, подстрока от второй символ (будет работать для вашего текущего en_US locale):

td=# SELECT substr('12.34'::float8::numeric::money::text,2); 
substr 
-------- 
12.34 
(1 row) 
+0

При запуске set LC_MONETARY = 'RU_ru'; ERROR: недопустимое значение для параметра «lc_monetary»: «RU_ru». Эта ошибка –

+0

en_IN не работает для меня. но я считаю, что ОС должна поддерживать его в одном месте. –

+0

@ManishGupta try en_IN –

Смежные вопросы