- - PR -
Selectの項目部分での範囲指定方法
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-05-19 11:28
シッチーと申します。
初心者で、至らない点があるとは思いますが、ご教授宜しくお願いします。 SQLのSelect文に関する質問です。 Oracleの10gを使用しています。 私が行いたい処理はSelect文の項目部分での文字の置換を行いたいと考えています。 以下、現行のソース。 SELECT a.user_cd FROM user1 a, user2 b WHERE a.user_cd = b.user_cd 仮に a.user_cdに'1111'1112''1113'1199' と言うデータがあったとして、 3・4桁目を抽出して、10〜15までの数値であれば'aa'と置換し、 16〜100までの数値であれば'bb'と置換を行いたいと考えております。 translate関数を使用して、'10'であれば'aa'と置き換えはできたのですが、 数値の範囲指定がわかりませんでした。(項目部分で範囲指定が可能かどうかもわかりません。) 【作成Sample】 SELECT a.user_cd,translate('10',substr(a.user_cd,3,2),'aa') a FROM user1 a, user2 b WHERE a.user_cd = b.user_cd 検索エンジンでSQL,範囲指定で検索をかけて調べていましたが、 BETWEEN関数ばかりで解決に役立つ情報は見つかりませんでした。 過去ログも読みましたが、探し方がまずいのか、 関連する情報を見つけることはできませんでした。 解決策をご存知の方はご教授よろしくお願い致します。 | ||||
|
投稿日時: 2006-05-19 11:43
「case when ... 」を使ったらよいと思います。
| ||||
|
投稿日時: 2006-05-19 11:52
ですね。 #3,4桁目が100とかってありえませんがね・・・ [ メッセージ編集済み 編集者: Penguin 編集日時 2006-05-19 11:56 ] [ メッセージ編集済み 編集者: Penguin 編集日時 2006-05-19 12:01 ] | ||||
|
投稿日時: 2006-05-19 15:17
温州蜜柑さん Penguinさん
回答ありがとうございました。 無事に行いたい処理を行うことができました。 |
1