summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/src/sgml/func.sgml79
1 files changed, 68 insertions, 11 deletions
diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml
index 393c1e31766..b3dae7dcead 100644
--- a/doc/src/sgml/func.sgml
+++ b/doc/src/sgml/func.sgml
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/func.sgml,v 1.395 2007/09/14 15:53:48 momjian Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/func.sgml,v 1.396 2007/09/18 17:41:16 adunstan Exp $ -->
<chapter id="functions">
<title>Functions and Operators</title>
@@ -1122,13 +1122,14 @@
<row>
<entry><literal><function>convert</function>(<parameter>string</parameter>
using <parameter>conversion_name</parameter>)</literal></entry>
- <entry><type>text</type></entry>
+ <entry><type>bytea</type></entry>
<entry>
Change encoding using specified conversion name. Conversions
can be defined by <command>CREATE CONVERSION</command>. Also
there are some pre-defined conversion names. See <xref
linkend="conversion-names"> for available conversion
- names.
+ names. The <parameter>string</parameter> must be valid in the
+ source encoding.
</entry>
<entry><literal>convert('PostgreSQL' using iso_8859_1_to_utf8)</literal></entry>
<entry><literal>'PostgreSQL'</literal> in UTF8 (Unicode, 8-bit) encoding</entry>
@@ -1245,6 +1246,12 @@
<primary>chr</primary>
</indexterm>
<indexterm>
+ <primary>convert_from</primary>
+ </indexterm>
+ <indexterm>
+ <primary>convert_to</primary>
+ </indexterm>
+ <indexterm>
<primary>decode</primary>
</indexterm>
<indexterm>
@@ -1319,7 +1326,12 @@
<row>
<entry><literal><function>ascii</function>(<parameter>string</parameter>)</literal></entry>
<entry><type>int</type></entry>
- <entry><acronym>ASCII</acronym> code of the first byte of the argument</entry>
+ <entry>
+ <acronym>ASCII</acronym> code of the first character of the argument.
+ For <acronym>UTF8</acronym> returns the Unicode code point of the character.
+ For other multi-byte encodings. the argument must be a strictly
+ <acronym>ASCII</acronym> character.
+ </entry>
<entry><literal>ascii('x')</literal></entry>
<entry><literal>120</literal></entry>
</row>
@@ -1340,24 +1352,27 @@
<row>
<entry><literal><function>chr</function>(<type>int</type>)</literal></entry>
<entry><type>text</type></entry>
- <entry>Character with the given <acronym>ASCII</acronym> code</entry>
+ <entry>
+ Character with the given code. For <acronym>UTF8</acronym> the argument is
+ treated as a Unicode code point. For other multi-byte encodings the argument
+ must designate a strictly <acronym>ASCII</acronym> character.
+ </entry>
<entry><literal>chr(65)</literal></entry>
<entry><literal>A</literal></entry>
</row>
<row>
<entry>
- <literal><function>convert</function>(<parameter>string</parameter> <type>text</type>,
- <optional><parameter>src_encoding</parameter> <type>name</type>,</optional>
+ <literal><function>convert</function>(<parameter>string</parameter> <type>bytea</type>,
+ <parameter>src_encoding</parameter> <type>name</type>,
<parameter>dest_encoding</parameter> <type>name</type>)</literal>
</entry>
- <entry><type>text</type></entry>
+ <entry><type>bytea</type></entry>
<entry>
Convert string to <parameter>dest_encoding</parameter>.
The original encoding is specified by
- <parameter>src_encoding</parameter>. If
- <parameter>src_encoding</parameter> is omitted, database
- encoding is assumed.
+ <parameter>src_encoding</parameter>. The <parameter>string</parameter>
+ must be valid in this encoding.
</entry>
<entry><literal>convert( 'text_in_utf8', 'UTF8', 'LATIN1')</literal></entry>
<entry><literal>text_in_utf8</literal> represented in ISO 8859-1 encoding</entry>
@@ -1365,6 +1380,35 @@
<row>
<entry>
+ <literal><function>convert_from</function>(<parameter>string</parameter> <type>bytea</type>,
+ <parameter>src_encoding</parameter> <type>name</type>)</literal>
+ </entry>
+ <entry><type>text</type></entry>
+ <entry>
+ Convert string to the database encoding.
+ The original encoding is specified by
+ <parameter>src_encoding</parameter>. The <parameter>string</parameter>
+ must be valid in this encoding.
+ </entry>
+ <entry><literal>convert_from( 'text_in_utf8', 'UTF8')</literal></entry>
+ <entry><literal>text_in_utf8</literal> represented in the current database encoding</entry>
+ </row>
+
+ <row>
+ <entry>
+ <literal><function>convert_to</function>(<parameter>string</parameter> <type>text</type>,
+ <parameter>dest_encoding</parameter> <type>name</type>)</literal>
+ </entry>
+ <entry><type>text</type></entry>
+ <entry>
+ Convert string to <parameter>dest_encoding</parameter>.
+ </entry>
+ <entry><literal>convert_to( 'some text', 'UTF8')</literal></entry>
+ <entry><literal>some text</literal> represented in the UTF8 encoding</entry>
+ </row>
+
+ <row>
+ <entry>
<literal><function>decode</function>(<parameter>string</parameter> <type>text</type>,
<parameter>type</parameter> <type>text</type>)</literal>
</entry>
@@ -1416,6 +1460,19 @@
</row>
<row>
+ <entry><literal><function>length</function>(<parameter>string</parameter><type>bytea</type>,
+ <parameter>encoding</parameter> <type>name</type> )</literal></entry>
+ <entry><type>int</type></entry>
+ <entry>
+ Number of characters in <parameter>string</parameter> in the
+ given <parameter>encoding</parameter>. The
+ <parameter>string</parameter> must be valid in this encoding.
+ </entry>
+ <entry><literal>length('jose', 'UTF8')</literal></entry>
+ <entry><literal>4</literal></entry>
+ </row>
+
+ <row>
<entry>
<literal><function>lpad</function>(<parameter>string</parameter> <type>text</type>,
<parameter>length</parameter> <type>int</type>