ビューを作成する必要があるこのテーブルがあります。これを TABLEABC と呼びます。このテーブルの特徴は、2 つの列があることです。列 1 を C1 と呼び、CHAR(25) 列です。簡単です。
トリッキーな部分は、次のコラムです....そして、私がそれで何をする必要があるか. これを C2 と呼びます。これは 600 バイトです。
なぜあなたは尋ねることができますか?オフセットに基づいてデータを格納しているため、600 文字です。
例: NAME1 はサイズ:15 開始オフセット:1 終了オフセット:12 NAME2 はサイズ:45 開始オフセット:13 終了オフセット: 49
したがって、基本的には、オフセットに基づいてこの列を保存する必要があり、さらに「名前付きオフセット」を特定する必要があります.IE NAME1 / NAME2(実際には別のものと呼ばれますが、今のところName1 / Name2)これらのオフセット。
これで、Oracle の管理作業を少し行いましたが、基本的な作業だけです。私は SQL Server についてよく知っていますが、これは私が慣れ親しんだことをはるかに超えていますが、私は常に挑戦を探しています。ビューも私にとっては新しいものです。そのため、さらに難しくなります。
おそらくこれは、次のような SUBSTR 関数になると思います。
SELECT SUBSTR(C2, 1, 12) As NAME1 from TABLE
それはうまくいくでしょうか?私はストアド プロシージャで何もしていません。
編集:
したがって、サンプルに関しては、(さまざまなオフセットを追加する必要があります)、このようなものが機能します。(選択ステートメントを配置する方法がわかりません。それらを互いの上に追加することはできますか?これは機能しますか (残りの選択を追加すると仮定しますか?)、最後に何かを追加する必要がありますか?
CREATE VIEW VIEW1 AS
SELECT C1 FROM TABLE
SELECT SUBSTR(C2, 1,12) As 'NAME1' from TABLE
SELECT SUBSTR(C2, 13, 45) As 'NAME2' from TABLE