OSDN Git Service

Add example of MONEY casting to numeric if locale is known.
authorBruce Momjian <bruce@momjian.us>
Tue, 27 Nov 2007 16:46:36 +0000 (16:46 +0000)
committerBruce Momjian <bruce@momjian.us>
Tue, 27 Nov 2007 16:46:36 +0000 (16:46 +0000)
doc/src/sgml/datatype.sgml

index 2936053..699884d 100644 (file)
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/datatype.sgml,v 1.219 2007/11/27 06:05:57 momjian Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/datatype.sgml,v 1.220 2007/11/27 16:46:36 momjian Exp $ -->
 
  <chapter id="datatype">
   <title id="datatype-title">Data Types</title>
@@ -848,8 +848,14 @@ ALTER SEQUENCE <replaceable class="parameter">tablename</replaceable>_<replaceab
 <programlisting>
 SELECT 1234::text::money;
 </programlisting>
-    There is no simple way of doing the reverse using a locale-neutral
-    method, namely casting a <type>money</type> value to a numeric type.
+    There is no simple way of doing the reverse in a locale-independent
+    manner, namely casting a <type>money</type> value to a numeric type.
+    If you know the currency symbol and thousands separator you can use
+    <function>regexp_replace()</>:
+<programlisting>
+SELECT regexp_replace('52093.89'::money::text, '[$,]', '', 'g')::numeric;
+</programlisting>
+
    </para>
 
    <para>