
あるファイルを行ごとに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も見ています
-
SQLローダーCSV取込で、囲み文字がデータ中に入っている場合について
Oracle
-
SQL*Loaderで、データを加工してロードしたいです。
Oracle
-
SQL*LoaderでCSVから指定した列のみインポートしたい。
Oracle
-
-
4
SQLLOADER
Oracle
-
5
SQL*Loader Append
Oracle
-
6
SQL*Loaderでのsysdate使用
Oracle
-
7
sql*loader 数値のロード
Oracle
-
8
SQL*LOADER実行時のロードデータチェック
Oracle
-
9
SQL*Loader フォーマット変換について
Oracle
-
10
全角空白のTRIMができない・・・
Oracle
-
11
SQL*Loaderのコミットポイント設定がうまくいってない?
Oracle
-
12
SELECTで1件のみ取得するには?
Oracle
-
13
MAX関数を使ってからLEFT JOINしたいのですが・・
PHP
-
14
SQLPLUSで結果を画面に表示しない
Oracle
-
15
SIDとSERVICE_NAMEの違いとは?
Oracle
-
16
SQL Loaderを使いたい
Oracle
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセスのフォームにカンマ区...
-
access 検索フォームで検索が...
-
初心者用、日付検索でデータを抽出
-
パススルークエリの動的パラメ...
-
ACCESSのフォーム上で複数検索...
-
検索フォームで空白を抽出したい
-
Accessのフォームで、空欄のレ...
-
AccessにてExcelファイル名にパ...
-
アクセス マクロのメッセージ...
-
ACCESS マクロで検索に...
-
年月日を持つテーブルから年月...
-
Access フォームで検索した結果...
-
Accessで検索画面を作る方法
-
アクセス2000検索箇所作成について
-
Accessのフォームで、画面表示...
-
Access レポート印刷するときに...
-
passwordが入れられません・・・・
-
アクセスのレポート合成(複数...
-
アクセスで数値型のフィールド...
-
データベースのINT型項目にNULL...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQL*Loader
-
Accessのフォームで、空欄のレ...
-
年月日を持つテーブルから年月...
-
access 検索フォームで検索が...
-
ACCESS2003 でクエリの抽出条件...
-
アクセスのフォームにカンマ区...
-
アクセス マクロのメッセージ...
-
ACCESSのフォーム上で複数検索...
-
複数条件検索について
-
VBAからクエリのパラメータを設...
-
パススルークエリの動的パラメ...
-
AccessにてExcelファイル名にパ...
-
検索フォームで空白を抽出したい
-
ACCESS マクロで検索に...
-
Accessの検索フォームで。
-
クエリの条件式に複数のコンボB...
-
Accessのフォームで、当該デー...
-
Access テキストボックスとlik...
-
ACCESS どこがおかしいのか?
-
Access2000で文字列中の半角ス...
おすすめ情報