sql >> Database >  >> RDS >> Oracle

N-de minimum van een Varchar-waarde vinden in Oracle

Als je de N-waarde van iets wilt vinden, dan is de analytische functie NTH_VALUE() is een goede plek om te beginnen.

Ervan uitgaande dat je dit alleen op basis van het numerieke gedeelte wilt, moet je alles vervangen dat geen getal is, waarvoor je REGEXP_REPLACE()

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

Om de N-de waarde voor een gegeven CONFIG_ID te verkrijgen, zou het zijn:

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

waar n is de index van de waarde die u wilt retourneren.



  1. Hoe ontkom ik aan vierkante haken in een LIKE-clausule?

  2. Converteer maandnaam naar maandnummer in SQL Server

  3. Mysql-resultaten krijgen van de afgelopen 30 dagen

  4. RMAN mislukt met RMAN-06900 RMAN-06901 ORA-04031