0 から 1000 までの数字を含む列を見つけるためにオラクルにクエリを実行する方法
次のようなクエリを試しました:
select (Column_name)
from (table_name)
where regexp_like(CREDIT_BANK_BRANCH,'^[0-999]$');
次の正規表現を使用します。
^([0-9]{1,3}|1000)$
説明:
正規表現は数値式を評価できないため、すべてを文字として扱う必要があります。
1 ~ 3 文字の長さの数字のグループを見つけます。[0-9]{1,3}
または数字の 1000 だけを探します。
パイプは「または」を意味し、括弧は式の範囲を限定するために必要です。
短いバージョン:
^(\d{1,3}|1000)$
テスト済み:
その列に数字を含む行のみを返す場合は、正規表現を に^[0-9]+$
(またはそれより短く^\d+$
) 変更します。
数字以外の文字を含むレコードを検索する場合は、[^0-9]
(または短く\D
) を使用します。
詳細については、「 Oracle データベースでの正規表現の使用」を参照してください。