sql >> データベース >  >> RDS >> Oracle

OracleでVarchar値のN番目の最小値を見つける

    何かのN番目の値を見つけたい場合は、分析関数 NTH_VALUE() 始めるのに良い場所です。

    数値部分のみに基づいてこれが必要であると仮定すると、数値以外のすべてを置き換える必要があります。これには、 REGEXP_REPLACE()

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

    特定のCONFIG_IDのN番目の値を取得するには、次のようになります。

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

    ここで、n 返したい値のインデックスです。



    1. Hibernate OnDeleteカスケードはMySqlでは機能しませんが、postgresおよびMs-Sqlでは機能します

    2. 再起動後にシェルスクリプトを続行するにはどうすればよいですか?

    3. DBAのポジションを引き継ぐときに尋ねる3つのSQLServerモニタリングの質問

    4. Oracle:IN句を使用したパラメータ化されたクエリはnull値を返します