database - multiple - select desc oracle




Oracle ordena NULL LAST por defecto (2)

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

¿Hay alguna manera de establecer que el orden predeterminado utilizado por Oracle sea NULL LAST (o NULL FIRST ), sin tener que ponerlo en cada consulta?


No, no hay manera de habilitar el orden predeterminado sin usar la cláusula order by , lo que le permite poner el último o el primero de NULL . 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
    




sorting