OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

ORACLEでLONG項目からCHAR項目へ桁数指定で文字列を抽出

  • 困ってます
  • 質問No.129997
  • 閲覧数3350
  • ありがとう数3
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 42% (3/7)

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

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

回答のほど宜しくお願いします。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.2
レベル7

ベストアンサー率 19% (4/21)

ちょっと質問の意図がわからないのですが、
例えば、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です。

こんなもんでよかったでしょうか?
お礼コメント
mrx-3

お礼率 42% (3/7)

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

ありがとうございました。
投稿日時 - 2001-09-10 12:37:51
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル7

ベストアンサー率 19% (4/21)

変数名をhogeとする。 substrb(to_char(hoge),1,30) これで先頭から30byteの文字列を取り出しできます。 ...続きを読む
変数名をhogeとする。

substrb(to_char(hoge),1,30)

これで先頭から30byteの文字列を取り出しできます。
補足コメント
mrx-3

お礼率 42% (3/7)

もう少し教えて頂きたいのですが、
今、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:55


このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ