- ベストアンサー
VARCHAR型の数値比較
教えてください。 テーブルにVARCHAR型のデータがあるのですが、 その内容は、数値や文字です。 2.5 20 0未満 などなど。 仮に4以下のデータを抽出する場合、 どのようにかけば「2.5」のデータがHITするのでしょうか? この場合、「0未満」など文字のあるデータは検索対象から外れてもかまいません。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは、angelinaaneさん select * from テーブル where substring(項目 from '\,|[0-9.-]+') = 項目 and cast(substring(項目 from '\,|[0-9.-]+') as float8) <= 4 これでいかがでしょうか?
その他の回答 (1)
- auty
- ベストアンサー率58% (284/486)
回答No.1
小数点以下1桁までと分かっているときは、 select * from テーブル where to_number(フィールド名, '999.9')<=4; を試してみてください。
質問者
お礼
・・ダメでした。 うまく抽出してくれないです。
お礼
おおっ! スゴイです。 動いてくれています。 ありがとうございます。