Oracle - CRITERIO DE ORDENACION DE LOS STRINGS EN ORACLE

 
Vista:

CRITERIO DE ORDENACION DE LOS STRINGS EN ORACLE

Publicado por ani alamo gomez (4 intervenciones) el 16/10/2002 17:47:20
Tengo una tabla TABLA1 que tiene un solo campo CAMPO1 de tipo varchar2 y tamaño 50 caracteres.Sus registros pueden ser como tales:

A@123
AAA@123
ABA@123
AZA@123
CAA@123
CCC@123

Claro al hacer la siguiente consulta:
SELECT CAMPO1
FROM TABLA1
ORDER BY CAMPO1

La consulta resultado es la siguiente:

AAA@123
ABA@123
AZA@123
A@123
CAA@123
CCC@123

Si hago la select de la siguiente manera:
SELECT CAMPO1
FROM TABLA1
WHERE CAMPO1>='A@'
ORDER BY CAMPO1

La select resultado me da ahora lo siguiente:
AAA@123
ABA@123
AZA@123
A@123
CAA@123
CCC@123

Y ahora si hago la select de la siguiente manera:
SELECT CAMPO1
FROM TABLA1
WHERE CAMPO1>='AZ'
ORDER BY CAMPO1

La select resultado me da ahora lo siguiente:
AZA@123
CAA@123
CCC@123

Como ordena Oracle las cadenas? Como las compara? Hace uso de la suma de los códigos Ascii del valor de un campo? O que? ayudenme por favor. Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:CRITERIO DE ORDENACION DE LOS STRINGS EN ORACLE

Publicado por joanming (8 intervenciones) el 18/10/2002 10:12:42
Se ordena por carácter ASCII.

Primero del valor más bajo al más alto.

Así pues, AA es más pequeno que AAA o AAa (las mayúsculas son importantes !)

Para comparar strings dependerá del tipo de consulta. Si quieres comparar por longitudes, usa la función length.

Ej. select length ('AAA') from dual
Devuelve 3

select length ('aaa') from dual
Devuelve 3

select length (campo1) from tabla
order by campo1

7
7
7
5
7
7

Envíame un ejemplo claro si necesitas más ayuda.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar