Ordenaciones en castellano en Oracle

Probad a crear una tabla como esta con unos datos de prueba

CREATE TABLE TEST_ACENTOS

(

MES VARCHAR2(50 BYTE)

)

INSERT INTO TEST_ACENTOS ( MES ) VALUES (

‘ENBBB’);

INSERT INTO TEST_ACENTOS ( MES ) VALUES (

‘ENERO ‘);

INSERT INTO TEST_ACENTOS ( MES ) VALUES (

‘ENaaa’);

INSERT INTO TEST_ACENTOS ( MES ) VALUES (

‘Enero’);

INSERT INTO TEST_ACENTOS ( MES ) VALUES (

‘JUNIO’);

INSERT INTO TEST_ACENTOS ( MES ) VALUES (

‘MAYO’);

INSERT INTO TEST_ACENTOS ( MES ) VALUES (

‘Mayo’);

INSERT INTO TEST_ACENTOS ( MES ) VALUES (

‘eNZZZ’);

INSERT INTO TEST_ACENTOS ( MES ) VALUES (

‘enAAA’);

INSERT INTO TEST_ACENTOS ( MES ) VALUES (

‘enaaa’);

INSERT INTO TEST_ACENTOS ( MES ) VALUES (

‘enbbb’);

INSERT INTO TEST_ACENTOS ( MES ) VALUES (

‘enero’);

INSERT INTO TEST_ACENTOS ( MES ) VALUES (

‘junio’);

INSERT INTO TEST_ACENTOS ( MES ) VALUES (

‘mayo’);

INSERT INTO TEST_ACENTOS ( MES ) VALUES (

‘ÉNERO’);

INSERT INTO TEST_ACENTOS ( MES ) VALUES (

‘énero’);

Y a hacer esta SELECT:

SELECT * FROM TEST_ACENTOS order by mes

Qué os devuelve?…

Os debería devolver esto:

Si no lo hace es que no tenéis bien configurados los parámetros de Oracle y tarde o temprano alguien se quejará J

Podéis ver los parámetros con: select * from nls_session_parameters where parameter in (‘NLS_SORT’,’NLS_COMP’);

El NLS_SORT debe ser SPANISH y el NLS_COMP BINARY deben ser:

Los podéis actualizar con el comando: alter session set nls_sort=binary;

A %d blogueros les gusta esto: