あるファイルを行ごとにDBにロードしています。
今回の修正で、検索条件を追加したのですが、
全角と半角が混在していて、671~672が全角だと
マルチバイト・キャラクタでエラーが発生してしまいます。
この場合は670までしか取り込まない処理に
したいのですが、その方法をご教授ください
よろしくお願いします。
LOAD
APPEND
PRESERVE BLANKS
INTO TABLE ユーザ検索情報 (
組織コード POSITION(1:7),
実行開始日 POSITION(8:15),
問合せ開始時刻_時 POSITION(16:17),
問合せ開始時刻_分 POSITION(18:19),
問合せ開始時刻_秒 POSITION(20:21),
実行終了日 POSITION(22:29),
問合せ終了時刻_時 POSITION(30:31),
問合せ終了時刻_分 POSITION(32:33),
問合せ終了時刻_秒 POSITION(34:35),
問合せ時間 POSITION(36:41),
テーブル名 POSITION(42:71) "TRIM(:テーブル名)",
検索条件 POSITION(72:671) "TRIM(:検索条件)",
DWH登録日時 SYSDATE
)
No.3ベストアンサー
- 回答日時:
SQL*LOADERのSQL文字列は、関数の使い方に癖があるので、
何処までできるか不明なのですが...
検索条件 POSITION(72:671) "TRIM(:検索条件)",
↓
検索条件 POSITION(72:672)
"substrb(:検索条件,1,decode(length(substrb(:検索条件,1,600)),length(substrb(:検索条件,1,601)),599,600))",
に変えてみてください。
通常のSQLと同じ評価がされるなら、感じの泣き別れを意識して、1バイト手前で
切り取られます。
No.2
- 回答日時:
これではだめですか?
検索条件 POSITION(72:※1) "SUBSTR(:検索条件, 1, 600)"
※1は671でエラーになるなら、ファイルレイアウト上の本来の値をセット
No.1
- 回答日時:
substrb関数でできませんか?
この回答への補足
substrb関数でできそうですが、
取り出すファイルの一行 (※の部分)
をどのように表記すればよいでしょうか?
LOAD
APPEND
PRESERVE BLANKS
INTO TABLE ユーザ検索情報 (
組織コード POSITION(1:7),
実行開始日 POSITION(8:15),
問合せ開始時刻_時 POSITION(16:17),
問合せ開始時刻_分 POSITION(18:19),
問合せ開始時刻_秒 POSITION(20:21),
実行終了日 POSITION(22:29),
問合せ終了時刻_時 POSITION(30:31),
問合せ終了時刻_分 POSITION(32:33),
問合せ終了時刻_秒 POSITION(34:35),
問合せ時間 POSITION(36:41),
テーブル名 POSITION(42:71) "TRIM(:テーブル名)",
検索条件 "substrb(※,72,671), "TRIM(:検索条件)",
DWH登録日時 SYSDATE
)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 画面に表示したらアニメーションを開始したい 3 2023/01/13 15:38
- 先物取引 日本国債先物のCFD取引について 1 2023/08/04 18:09
- Excel(エクセル) 日付で矢印マクロ 4 2023/07/25 16:47
- JavaScript vertical sliderをautoplayしたい 2 2022/08/25 14:47
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- その他(Microsoft Office) エクセル 条件付き書式 日をまたぐ塗りつぶし 1 2023/01/13 18:00
- Excel(エクセル) エクセル2019の関数を教えてください。 8 2022/12/16 12:45
- Excel(エクセル) エクセル 条件に合う日付に入力された時間数の合計したい 4 2022/06/17 22:18
- Excel(エクセル) 指定した値以上の中で最小値を出したい 7 2022/10/24 21:12
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
SQLローダーCSV取込で、囲み文字がデータ中に入っている場合について
Oracle
-
SQL*Loaderで、データを加工してロードしたいです。
Oracle
-
sql*loader 数値のロード
Oracle
-
-
4
SQL*LoaderでCSVから指定した列のみインポートしたい。
Oracle
-
5
SQLLOADER
Oracle
-
6
全角空白のTRIMができない・・・
Oracle
-
7
SQL*Loaderでのsysdate使用
Oracle
-
8
SQL*Loaderのコミットポイント設定がうまくいってない?
Oracle
-
9
Oracleでの文字列連結サイズの上限
Oracle
-
10
SELECT INTOで一度に複数の変数へ代入をするにはどのようにすれがよいでしょうか?
PostgreSQL
-
11
SQL*Loader Append
Oracle
-
12
SQL Loaderを使いたい
Oracle
-
13
PL/SQLで@ファイル名が反応しません
Oracle
-
14
SQLで1バイト、2バイト混在データでの切出し
Visual Basic(VBA)
-
15
Oracle 8i コンマ(,)を含むデータをinsertしたい
その他(データベース)
-
16
カンマがデータとして入ってるCSVについて
Oracle
-
17
PL/SQLでログを確認したい。
Oracle
-
18
UPDATE文のWHERE条件に他のテーブルのフィールドも入れたい
SQL Server
-
19
バッチ処理でファイルの中身を変数に入れるやり方
その他(プログラミング・Web制作)
-
20
SQL*LOADER実行時のロードデータチェック
Oracle
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESSのフォーム上で複数検索...
-
アクセスの複数検索で日付の絞...
-
年月日を持つテーブルから年月...
-
検索フォームで空白を抽出したい
-
アクセス マクロのメッセージ...
-
AccessにてExcelファイル名にパ...
-
Accessのフォームで、空欄のレ...
-
Accessの検索フォームで。
-
Access2000で文字列中の半角ス...
-
VBAからクエリのパラメータを設...
-
Access2007のサブフォームのReq...
-
SQL*Loader
-
ACCESSのフォームを使っての住...
-
AccessのクエリーでWHERE句のと...
-
マクロの「アクション:コマン...
-
Access レポート印刷するときに...
-
データベースのINT型項目にNULL...
-
アクセスで数値型のフィールド...
-
レコードを保存するコード ア...
-
passwordが入れられません・・・・
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
年月日を持つテーブルから年月...
-
SQL*Loader
-
検索フォームで空白を抽出したい
-
Accessのフォームで、空欄のレ...
-
アクセスのフォームにカンマ区...
-
ACCESS2003 でクエリの抽出条件...
-
VBAからクエリのパラメータを設...
-
AccessにてExcelファイル名にパ...
-
アクセス マクロのメッセージ...
-
access 検索フォームで検索が...
-
Accessの検索フォームで。
-
ACCESSのフォーム上で複数検索...
-
Access2000で文字列中の半角ス...
-
複数条件検索について
-
Access2007のサブフォームのReq...
-
パススルークエリの動的パラメ...
-
ACCESS マクロで検索に...
-
Access テキストボックスとlik...
-
Accessでパラメータークエリの...
-
Accessで検索画面を作る方法
おすすめ情報