1

タブ区切りをExcelにインポートしました。Oracle データベースからダンプされた VARCHAR2(255) のデータ型の列があります。

列にフォーマットされたデータには、次のようなデータがあります: (コロンで区切られた値)

info 1: info 2: info 3

ファイルを Excel ワークシートにインポートした後、フォーマットに問題があるレコードがいくつかあります。基本的にコロンの間に空白があり、タブで問題が発生します。

不良レコードは次のようになります。レコードはインポートされますが、そのデータはスプレッドシート内でずれています。

info<...whitespace here...>1: info 2: info 3

タブのインポートが壊れないように、Oracle の構文、SQL でその列を選択して埋め込まれた空白を削除する方法はありますか?

4

3 に答える 3

1

これはあなたのために働くかもしれません:

SELECT regexp_replace('info    :1 info 2: info 3','[[:space:]]{2,}', ' ') FROM dual;

与える:

情報:1情報2:情報3

'info'と':'の間に1つのスペースを残したいとします

于 2011-08-17T21:27:04.260 に答える
1

これは単なるポインタです。私があなたを正しく理解していれば、タブ区切りのインポートが Excel で機能するように、選択した列のタブ (\t) をスペース (\b) に置き換える必要があります。

タブを削除するには、置換機能を使用できます。(または適用される他の文字)

例:

SELECT REPLACE(YOUR_COLUMN_NAME,CHR(9),' ') FROM ...

これがデータ要件を満たしていると仮定すると、これによりタブがスペース (または の代わりに言及した任意の文字' ')に置き換えられます。

于 2011-08-17T21:17:27.227 に答える
0

問題:Basically white spaces in between colons

「データ」(作業しているドレックを考えると、用語を大まかに使用します)にスペースが含まれていない場合、replace 関数を使用して、UDF のスペースを「」(空の文字列)に置き換えることができます。または、SPACE:COLON と COLON:SPACE のすべてのインスタンスを COLON に置き換えることもできます。

于 2011-08-17T21:17:06.640 に答える