- ベストアンサー
半角英数字混在データから数字のデータを抽出したい。
データベースにORACLEを使用してVB6にて開発を行っています。 あるテーブルにIDというchar型のデータがあり、ID>='100'andID<'200' の条件(100番台のデータを取得)にてデータを抽出したいと考えています。 ただ、IDには数値だけでなく、A01やB05などの半角アルファベットを含む データも混在しています。 イメージとしては下記のようなSQLが発行できればと思っているのですが、 select * from テーブル名 if trim(ID) is numeric then where ID >= '100' and ID < '200' end if; if trim(ID) is numeric then部分がSQL文として不正確なため動きません。 ORACLEでの開発は初心者のため、どなたかに教えていただければ幸いです。 お手数おかけしますがよろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
select * from テーブル名 where ID >= '100' and ID < '200' and replace(translate(ID,'123456789','000000000'),'0','') is null; で検査できると思いますよ。
お礼
回答、ありがとうございます。 教えていただいたSQLにて無事処理が行えました。 ありがとうございました。