sql >> Databáze >  >> RDS >> Oracle

Nalezení N-tého minima hodnoty Varchar v Oracle

Pokud chcete najít N-tou hodnotu čehokoli, pak analytická funkce NTH_VALUE() je dobré místo, kde začít.

Za předpokladu, že to chcete pouze na základě číselné části, musíte nahradit vše, co není číslo, k čemuž můžete použít REGEXP_REPLACE()

select regexp_replace(escalation_level, '[^[:digit:]]')
  from my_table

Chcete-li získat N-tou hodnotu pro dané CONFIG_ID, bylo by to:

select nth_value(escalation_level, n)
         over ( partition by config_id 
                    order by regexp_replace(escalation_level, '[^[:digit:]]') )
  from my_table

kde n je index hodnoty, kterou chcete vrátit.



  1. Top 50 otázek k rozhovoru pro MySQL, které si musíte připravit v roce 2022

  2. AKTUALIZUJTE celý řádek v PL/pgSQL

  3. Jak $_POST dynamicky přiřazenou hodnotu v PHP?

  4. Rails a PostgreSQL:Role postgres neexistuje