> > When the database uses a single byte encoding, the chr function
takes 
> > the binary byte representation as an integer number between 0 and
255 
> > (e.g. ascii code).
> > When the database encoding is one of the unicode encodings it takes
a 
> > unicode code point.
> > This is also what Oracle does.
> 
> Sorry, but this is *NOT* what Oracle does.
> At least if we can agree that the code point for the Euro 
> sign is 0x20AC.

yes

> 
> SQL> SELECT ASCII('EUR') AS DEC,
>   2         TO_CHAR(ASCII('EUR'), 'XXXXXX') AS HEX
>   3  FROM DUAL;
> 
>        DEC HEX
> ---------- ----------------------------
>   14844588  E282AC
> 
> The encoding in this example is AL32UTF8, which corresponds 
> to our UTF8.

You are right, I am sorry. My test was broken.

To get the euro symbol in Oracle with a AL32UTF8 encoding you use
chr(14844588)

Andreas

---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
       choose an index scan if your joining column's datatypes do not
       match

Reply via email to