- PR -

ORACLEの条件について

1
投稿者投稿内容
ばなな
ベテラン
会議室デビュー日: 2005/06/16
投稿数: 91
投稿日時: 2006-04-26 18:37
データベースORACLE10gを使ってます。
教えていただきたいのは
Aテーブル
 aフィールド[VARCHAR2]・bフィールド[VARCHAR2]・cフィールド[VARCHAR2]
上記のような構成になっております。
■下記のようなデータが入っていた場合、
aフィールドはカンマ毎に数値とみなし、
2以下のデータを取得するといった方法は可能でしょうか?
(ここで取得できるのは1レコードのみということになります。)
考えては見たのですが、方法が見つかりません。アドバイスをお願いします。
       aフィールド| bフィールド | cフィールド
1レコード  1,2,3 | てすと1 | なまえ1
2レコード  3,4  | てすと2 | なまえ2

じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-04-26 18:42
引用:

ばななさんの書き込み (2006-04-26 18:37) より:

aフィールドはカンマ毎に数値とみなし、2以下のデータを取得するといった方法は可能でしょうか?


DB 側でどうこうというより、取得した後に SUBSTR してキャストした方が良いと思います。
.NET Framework な言語であれば、String.IndexOf と String.Substring を使えばできます。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
うにくま
ベテラン
会議室デビュー日: 2005/11/05
投稿数: 82
投稿日時: 2006-04-26 19:00
LIKE演算子で検索できるのではないでしょうか?

一桁の数値のみであれば、
コード:
WHERE    a    LIKE '%1%'
OR       a    LIKE '%2%'


二桁以上ならば、
コード:
WHERE    ',' || a || ','    LIKE '%,1,%'
OR       ',' || a || ','    LIKE '%,2,%'

ばなな
ベテラン
会議室デビュー日: 2005/06/16
投稿数: 91
投稿日時: 2006-04-28 16:26
アドバイスありがとうございます。
ORACLEで行うより.NET側で検索した方がいいですよね。。。
ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)