Skip to Main Content

Infrastructure Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

ru_RU.UTF-8 locale sorting bug on solaris 10 x86

807559Oct 13 2006 — edited Oct 13 2006
I have two machines solaris 10 and 10/06 x86 with all patches. Both have the same issue.

Try to list filenames with russian letters in to locales ru_RU.UTF-8 and en_US.UTF-8.

(try use first 3 russian letters in correct order - ?, ?, ?)

In en_US.UTF-8 sorting works as expected. I have - ?, ?, ?
In ru_RU.UTF-8 sorting does not work. I have - ?, ?, ?

Example:

$ cd /tmp
$ touch ?
$ touch ?
$ touch ?

$ export LC_ALL=en_US.UTF-8
$ locale

LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_ALL=en_US.UTF-8

$ ls -lh

... ?
... ?
... ?

$ export LC_ALL=ru_RU.UTF-8
$ locale

LANG=en_US.UTF-8
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_ALL=ru_RU.UTF-8

$ ls -lh

... ?
... ?
... ?

Roman.

ps: for what reason this forum does not support international characters :-(

Rom@n

Comments

Lokanath Giri
wm_concat is un-documented hence not supported by oracle.
Try some alternative
select 
rtrim (xmlagg (xmlelement (e, ename || ',')).extract ('//text()'), ',') enames
from 
emp
where deptno=30
Some good example available check this.
http://www.oracle-base.com/articles/misc/StringAggregationTechniques.php

Edited by: Lokanath Giri on १० जनवरी, २०१२ १२:५४ अपराह्न
Jhon
correct name of ur Function:

SELECT lengt(ename) FROM EMP WHERE deptno=10;
ORA-00904: "LENGT": invalid identifier
00904. 00000 - "%s: invalid identifier"
*Cause:
*Action:
Error at Line: 8 Column: 7

SELECT length(ename) FROM EMP WHERE deptno=10;
it return rows sucessfully
AlexAnd
>
WM_CONCAT is undocumented and unsupported by Oracle, meaning it should not be used in production systems.
>
so change your way

btw

for me
SQL> select * from v$version;

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE    10.2.0.1.0      Production
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production

SQL> set serveroutput on
SQL> DECLARE
  2   ex varchar2(200);
  3   BEGIN
  4   SELECT wm_concat(ename) INTO EX FROM EMP WHERE deptno=30;
  5   DBMS_OUTPUT.PUT_LINE(EX);
  6   END;
  7  /
ALLEN,WARD,MARTIN,BLAKE,TURNER,JAMES

PL/SQL procedure successfully completed.

SQL> 
try wmsys.wm_concat
cool-2466583
Hi,

Please check the database version you are using.

wm_concat is available from 11g Release 2.

Regards,
Wilson
BluShadow
Answer
Cool wrote:
Hi,

Please check the database version you are using.

wm_concat is available from 11g Release 2.
Incorrect.

wm_concat is undocumented and shouldn't be used.

Even Tom Kyte says so... 9967699

From 11gR2, there is a new documented function called LISTAGG...

http://docs.oracle.com/cd/E11882_01/server.112/e26088/functions089.htm
Marked as Answer by 883038 · Sep 27 2020
1 - 5
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Nov 10 2006
Added on Oct 13 2006
0 comments
204 views