Oracle DB で数値のみのフィールドかどうかを判定する

Oracle DB で、対象のフィールドの内容が数値のみかどうかを判定する。

例えば、users.user_code には

が混在していて、これらを区別したいとする。

以下のように CASE 文でうまく判定すると、対象のフィールドデータが数値のみかどうかが分かる。

SELECT
  user_code,
  CASE
    WHEN TRIM(TRANSLATE(user_code, '0123456789', '          ')) IS NULL
    THEN '数値のみ'
    ELSE '文字列アリ'
  END AS test
FROM
  users;

ということ。