Saltar al contenido

Orden de Oracle NULL LAST por defecto

Solución:

No, no hay forma de cambiar el comportamiento predeterminado de NULLS FIRST y NULLS LAST:

NULLS LAST es el valor predeterminado para el orden ascendente y NULLS FIRST es el valor predeterminado para el orden descendente.


No puedo probar que sea imposible de cambiar, pero no puedo encontrar una característica de este tipo en los lugares donde es más probable que se implemente.

Opción SQL El manual no menciona nada.

Parámetro Ninguno de los parámetros nls en V$PARAMETER controlarlo: select * from v$parameter where name like '%nls%';

Parámetro oculto No hay ningún parámetro oculto. Intenté buscar algo como% null% o% sort%, ninguno de ellos parece relevante.

Generador de configuración regional Oracle le permite crear su propia clasificación personalizada. Tiene muchas opciones, pero ninguna de ellas le permite definir cómo se ordenan los NULL. Establecer los números de clasificación principal y clasificación secundaria realmente altos o bajos no lo cambia (esperaba que se implementara un NULL como un valor pequeño o grande codificado de forma rígida). Puede establecer el orden de clasificación para 0x0000, que es “NULL”, pero ese es un tipo diferente de NULL.

No, no hay forma de habilitar el pedido predeterminado sin usar order by cláusula, que te permite poner NULLs último o primero. Aquí hay un ejemplo:

  1. Orden ascendente

    SQL> with t1(col) as(
      2    select 1    from dual union all
      3    select 2    from dual union all
      4    select null from dual union all
      5    select 3    from dual
      6  )
      7  select *
      8    from t1
      9  order by col asc nulls last
      10  ;
    

    Resultado:

      COL
      ------
       1
       2
       3
       null
    
  2. Orden descendente

      SQL> with t1(col) as(
       2    select 1    from dual union all
       3    select 2    from dual union all
       4    select null from dual union all
       5    select 3    from dual
       6  )
       7  select *
       8    from t1
       9  order by col desc nulls last
      10  ;
    

    Resultado:

      COL
      ----------
       3
       2
       1
       null
    

En orden ascendente, los valores NULL siempre se ordenarán en último lugar.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *