es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo hacer que ORDER BY sea insensible a mayúsculas y minúsculas?

Estoy trabajando con ABAP y OpenSQL y creo que estoy utilizando la versión 7.5, pero no estoy seguro al respecto.

Intento usar ORDER BY en mi SELECT. Mi problema es que las letras en mayúscula se muestran primero y luego las minúsculas como esto:

A B C D E F... a b c d e f – pero por supuesto quiero que se muestre así: A a B b C c D d E e F f

He intentado hacerlo con ORDER BY UPPER( column2 ) y ORDER BY LOWER( column2 ), pero siempre obtengo el siguiente error (lo mismo sucede con lower):

Nombre de columna desconocido “UPPER( column2 )”. Hasta el tiempo de
ejecución, no se puede especificar una lista de campos.

Aquí está mi código:
sql
SELECT * FROM <tabla base de datos>
WHERE column1 = @inputParameter
ORDER BY column2
INTO CORRESPONDING FIELDS OF TABLE @export_structure

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para ordenar tus resultados en OpenSQL, puedes usar la cláusula COLLATE con la opción ucs2_general_ci para ordenar los resultados de manera insensible a mayúsculas y minúsculas. Esto debería resolver tu problema de que las letras en mayúscula y minúscula se ordenen por separado.

    Aquí tienes un ejemplo de cómo puedes modificar tu código:

    SELECT * FROM <tabla de="" base="" de="" datos="">
      WHERE columna1 = @inputParameter
      ORDER BY columna2 COLLATE ucs2_general_ci
      INTO FIELDS CORRESPONDIENTES DE LA TABLA @export_structure
    

    La cláusula COLLATE especifica la intercalación del algoritmo de ordenación utilizado en la consulta. La opción ucs2_general_ci especifica un conjunto de caracteres Unicode que es insensible a mayúsculas y minúsculas, lo que significa que las letras en mayúscula y minúscula se tratarán de la misma manera durante la ordenación.

    Al añadir esta cláusula a tu consulta, deberías ser capaz de lograr el ordenamiento deseado de tus resultados.

Comments are closed.