Oracle
 sql >> база данни >  >> RDS >> Oracle

Намиране на N-ти минимум на стойност на Varchar в Oracle

Ако искате да намерите N-тата стойност на нещо, тогава аналитичната функция NTH_VALUE() е добро място за начало.

Ако приемем, че искате това само на базата на числовата част, трябва да замените всичко, което не е число, за което можете да използвате REGEXP_REPLACE()

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

За да се получи N-тата стойност за даден CONFIG_ID, ще бъде:

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

където n е индексът на стойността, която искате да върнете.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. вземете всички данни от релационни таблици, като използвате xmlelement в pl/sql

  2. Вземане на запис с максимална дата

  3. Как да отпечатате SYS_REFCURSOR с прозорец на PLSQLDeveloper?

  4. Как да попълним календарна таблица в Oracle?

  5. Oracle SQL Developer копира база данни стъпка по стъпка