プロが教える店舗&オフィスのセキュリティ対策術

ORACLEでLONG項目からCHAR項目へ桁数指定で文字列を抽出したいのですが、方法はありますか?
LONG項目の先頭から30桁分の文字を抽出し、CHAR項目に入力したいのですが。

会社で使用しているERPパッケージでLONG項目があり、どうしてもこの項目から文字が抽出したいのです。

回答のほど宜しくお願いします。

A 回答 (2件)

ちょっと質問の意図がわからないのですが、


例えば、T1,T2の2つのテーブルがあったとして、
T1のnumというnumber(10)の項目があって、その中から
先頭の5桁を取ってきて、T2のcommentというCHAR(5)の
項目に転送するなら、
まず、T1のnumから5文字取ってきて、それを変数hoge[chr(5)]に入れる。

select substrb(to_char(num),1,5) into hoge from t1 where id=1;

それから、hogeをT2のcomment列に挿入する。

insert into t2(id,comment) values (1,hoge);

んで、最後にcommitしたらOKです。

こんなもんでよかったでしょうか?
    • good
    • 0
この回答へのお礼

なるほど!ようやく分かりました!
俺って最悪に頭わるいっすね。

ありがとうございました。

お礼日時:2001/09/10 12:37

変数名をhogeとする。



substrb(to_char(hoge),1,30)

これで先頭から30byteの文字列を取り出しできます。

この回答への補足

もう少し教えて頂きたいのですが、
今、GEMというテーブルがあります。
テーブルの項目定義は下記の様になっています。
<項目定義>
GEM_ID RAW(8) NOT NULL,
GEM_SEQ NUMBER(10) NOT NULL,
GEM_DATA LONG,

SELECT文を普通に書くと、
SELECT SUBSTRB(GEM_DATA,1,30)
FROM GEM
となりますよね。
で、hogeをこれに組み込もうとした場合はどうすれば良いのでしょうか。
本当に初心者ですみません。宜しくお願いします。

補足日時:2001/09/08 13:34
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す


このQ&Aを見た人がよく見るQ&A