###前提・実現したいこと
SQL loaderでCSVファイルの各項目を空白(半角SP,全角SP)を取り除いてDBのテーブルに登録したいです
###発生している問題・エラーメッセージ
・空白(半角SP,全角SP)が前後に付加している項目をA_COLUMNに取り込もうとすると、エラーになって取り込まれないです
・桁数オーバーしないように設定すると空白(半角SP,全角SP)が付加した状態で、A_COLUMNに取り込まれる
###定義内容
↓当該カラムの定義
A_COLUMN VARCHAR2(10)
↓ctlファイルの内容
OPTIONS(SKIP=1,ERRORS=-1,ROWS=-1) LOAD DATA CHARACTERSET JA16SJIS INFILE 'HOGE.CSV' TRUNCATE INTO TABLE HOGE_TABLE FIELDS TERMINATED BY "," TRAILING NULLCOLS ( A_COLUMN )
###試したこと
| No | 試したデータ | SQL Loaderのログ |
|---|---|---|
| 1 | ' 0123456789' | 桁数オーバーでエラー |
| 2 | '0123456789 ' | 桁数オーバーでエラー |
| 3 | ' 0123456789 ' | 桁数オーバーでエラー |
| 4 | ' 0123456789' | 桁数オーバーでエラー |
| 5 | '0123456789 ' | 桁数オーバーでエラー |
| 6 | ' 0123456789 ' | 桁数オーバーでエラー |
| 7 | ' 123456789' | 半角SPも取り込まれる |
| 8 | '012345678 ' | 半角SPも取り込まれる |
| 9 | ' 12345678 ' | 半角SPも取り込まれる |
| 10 | ' 3456789' | 全角SPも取り込まれる |
| 11 | '0123456 ' | 全角SPも取り込まれる |
| 12 | ' 3456 ' | 全角SPも取り込まれる |
↓とすると半角SPは取り除かれることを確認しました
※省略※ ( A_COLUMN "TRIM(:A_COLUMN)" )
###補足情報
・DBのバージョン:Oracle Database 11g Release 11.2.0.3.0 - 64bit Production
・SQL Loaderでは不要な空白は除去されることは色々なサイトから情報を得て、何故か除去されません
回答1件
あなたの回答
tips
プレビュー
2017/08/04 03:58 編集
2017/08/04 04:56 編集
2017/08/04 04:59