dポイントプレゼントキャンペーン実施中!

教えてください。

テーブルにVARCHAR型のデータがあるのですが、
その内容は、数値や文字です。
 2.5
 20
 0未満
などなど。

仮に4以下のデータを抽出する場合、
どのようにかけば「2.5」のデータがHITするのでしょうか?
この場合、「0未満」など文字のあるデータは検索対象から外れてもかまいません。

よろしくお願いします。

A 回答 (2件)

こんにちは、angelinaaneさん



select * from テーブル
where substring(項目 from '\,|[0-9.-]+') = 項目
and cast(substring(項目 from '\,|[0-9.-]+') as float8) <= 4

これでいかがでしょうか?
    • good
    • 0
この回答へのお礼

おおっ!
スゴイです。

動いてくれています。
ありがとうございます。

お礼日時:2008/04/01 15:37

小数点以下1桁までと分かっているときは、



select * from テーブル where to_number(フィールド名, '999.9')<=4;

を試してみてください。
    • good
    • 0
この回答へのお礼

・・ダメでした。

うまく抽出してくれないです。

お礼日時:2008/03/28 16:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!