質問 |
||
| QNo.3902114 | VARCHAR型の数値比較 | |
|---|---|---|
| 質問者:angelinaane |
教えてください。 テーブルにVARCHAR型のデータがあるのですが、 その内容は、数値や文字です。 2.5 20 0未満 などなど。 仮に4以下のデータを抽出する場合、 どのようにかけば「2.5」のデータがHITするのでしょうか? この場合、「0未満」など文字のあるデータは検索対象から外れてもかまいません。 よろしくお願いします。 |
|
困り度:
|
||
| 質問投稿日時: 08/03/28 15:11 |
||
回答良回答20pt |
|
| ANo.2 | こんにちは、angelinaaneさん select * from テーブル where substring(項目 from '\,|[0-9.-]+') = 項目 and cast(substring(項目 from '\,|[0-9.-]+') as float8) <= 4 これでいかがでしょうか? |
|---|---|
| 回答者:oops1967 | |
| 種類:アドバイス どんな人:一般人 自信:参考意見 |
|
| 回答日時: 08/03/31 16:35 |
|
| |
| この回答へのお礼 | おおっ! スゴイです。 動いてくれています。 ありがとうございます。 |
回答 |
|
| ANo.1 | 小数点以下1桁までと分かっているときは、 select * from テーブル where to_number(フィールド名, '999.9')<=4; を試してみてください。 |
|---|---|
| 回答者:auty | |
| 種類:アドバイス どんな人:一般人 自信:参考意見 |
|
| 回答日時: 08/03/28 16:06 |
|
| |
| この回答へのお礼 | ・・ダメでした。 うまく抽出してくれないです。 |