Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Znajdowanie N-tego minimum wartości Varchar w Oracle

Jeśli chcesz znaleźć N-tą wartość czegokolwiek, użyj funkcji analitycznej NTH_VALUE() to dobre miejsce na rozpoczęcie.

Zakładając, że chcesz to na podstawie części numerycznej, musisz zastąpić wszystko, co nie jest liczbą, do czego możesz użyć REGEXP_REPLACE()

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

Aby uzyskać N-tą wartość dla danego CONFIG_ID, byłoby to:

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

gdzie n jest indeksem wartości, którą chcesz zwrócić.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Korzystanie z Oracle 10g CLOB z Grails 2.0.1

  2. Jak zdefiniować klucz podstawowy automatycznego przyrostu w Oracle?

  3. Zmniejsz 19 kolumn do 5 kolumn

  4. Otwórz SQL Developer z wiersza poleceń z parametrami (connectstring, user, passwort...)

  5. Jak usunąć zero, gdy część całkowita to zero w Oracle?