わかりました、これが問題です。古い SQL サーバーのテキスト形式でメモがあります。レコードのすべてのメモを 1 つの大きなデータの塊にまとめます。そのテキストの塊を取り出して解析し、メモ エントリごとに 1 つの行を作成し、タイムスタンプ、ユーザー、メモ テキストの列を個別に作成する必要があります。私が考えることができる唯一の方法は、正規表現を使用して各メモのUNIXタイムスタンプを見つけ、それを解析することです。区切り文字を解析するための分割機能があることは知っていますが、それによって区切り文字が削除されます。\d{10} で解析する必要がありますが、10 桁の数字も保持します。ここにいくつかのサンプルデータがあります。
create table test_table
(
job_number number,
notes varchar2(4000)
)
insert into test_table values
(12345, '1234567890 username notes text notes text notes text notes text 5468204562 username notes text notes text notes text notes text 1025478510 username notes text notes text notes text notes text')
(12346, '2345678901 username notes text notes text notes text notes text 1523024512 username notes text notes text notes text notes text 1578451236 username notes text notes text notes text notes text')
(12347, '2345678902 username notes text notes text notes text notes text 2365201214 username notes text notes text notes text notes text 1202154215 username notes text notes text notes text notes text')
このように見えるように、メモごとに 1 つのレコードを表示したいと思います。
JOB_NUMBER DTTM USER NOTES_TEXT
---------- ---------- ---- ----------
12345 1234567890 USERNAME notes text notes text notes text notes text
12345 5468204562 USERNAME notes text notes text notes text notes text
12345 1025478510 USERNAME notes text notes text notes text notes text
12346 2345678901 USERNAME notes text notes text notes text notes text
12346 1523024512 USERNAME notes text notes text notes text notes text
12346 1578451236 USERNAME notes text notes text notes text notes text
12347 2345678902 USERNAME notes text notes text notes text notes text
12347 2365201214 USERNAME notes text notes text notes text notes text
12347 1202154215 USERNAME notes text notes text notes text notes text
ご協力いただきありがとうございます。