SQL*LOADERにて
NUMBER(3,0)のフィールドに、小数点以下を含む数値をもったデータをロードすると
四捨五入か何かされて整数でデータがロードされてしまいます。
テーブル、CTLファイル、csvレコード、登録結果は以下のとおりです。
テーブル:
CREATE TABLE tbl1 (
CLM001NUMBER(3,0)NOT NULL,
CLM002VARCHAR2(30)
)
CTLファイル:
LOAD DATA
INFILE 'tbl1.csv'
BADFILE 'tbl1.bad'
TRUNCATE
INTO TABLE tbl1
FIELDS TERMINATED BY ','
TRAILING NULLCOLS
(
CLM001,
CLM002
)
csvレコード:
0.9,aaaaa
3.1,bbbbb
登録結果(SQL*LOADER実行結果):
1,aaaaa
3,bbbbb
小数点を含むデータをロード時にエラーとしたいのですが、何かいい方法ありますでしょうか?
環境はSQL*Loader: Release 9.2.0.1.0になります。
No.1ベストアンサー
- 回答日時:
フィールドの後にフィルタとして使うファンクションを指定すればOKです
たとえば、TRAILING NULLCOLSの後を
(
CLM001 "TO_NUMBER(:CLM001 , '999')",
CLM002
)
と書けば、CLM001の内容がTO_NUMBER関数で指定した'999'という書式(3桁までの整数)から外れてる物は変換エラーとなるのでbad送りになります。
細かい制御が必要なら自作のフィルタファンクションを作ってみたらどうでしょうか?エラーとする場合は適当な例外を投げてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL PHP 画像のアップロード Qiita 2 2022/11/28 04:44
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Oracle 質問です。 下記のテーブルとデータがあり、 取得想定結果のように出力したいです。 下記のsqlだと0 2 2023/05/23 19:10
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- Oracle sqlで質問です。 Aテーブルの登録番号をキーにBテーブルから確認番号を取得したいのですが、Bテーブ 4 2023/05/18 13:08
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- PostgreSQL PostgreSQL レコードからアイテム種類数を取得したい 2 2022/11/23 22:31
- MySQL 何にかが違うから エラーなんでしょうね! 2 2022/09/18 05:28
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
SQLローダーCSV取込で、囲み文字がデータ中に入っている場合について
Oracle
-
SQL*Loaderで、データを加工してロードしたいです。
Oracle
-
SQL*LoaderでCSVから指定した列のみインポートしたい。
Oracle
-
-
4
SQL*Loaderでのsysdate使用
Oracle
-
5
SQL*Loader フォーマット変換について
Oracle
-
6
sqlldrのフィールドの属性について
Oracle
-
7
SQL*Loader Append
Oracle
-
8
SQLLOADER
Oracle
-
9
データ削除とSQL*Loaderでのインポート
Oracle
-
10
NUMBER(N,M) としたときの、格納データサイズ(バイト)
Oracle
-
11
SQL*Loaderのコミットポイント設定がうまくいってない?
Oracle
-
12
カンマがデータとして入ってるCSVについて
Oracle
-
13
ORA-01722: 数値が無効です
Oracle
-
14
SQL*LOADER実行時のロードデータチェック
Oracle
-
15
sqlldrの使用方法について
Oracle
-
16
SQL*Loader
Oracle
-
17
PL/SQLをWindowsのBATファイルで実行するには
Oracle
-
18
バッチからsqlplusの接続エラーの検知について
その他(プログラミング・Web制作)
-
19
SQL*Loaderでのゼロ埋め
Oracle
-
20
SQL/Loaderでの年月日時分秒のセットに関して
Oracle
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
sql*loader 数値のロード
-
CSVを1行しかインポートしない...
-
データベースファイル(.db)を開...
-
create databaseがうまくいきま...
-
PL/SQLで@ファイル名が反応しま...
-
htmlフォームから受け取ったフ...
-
DBファイルの中身を直接見れな...
-
同じSQL文で極端に検索が遅くな...
-
LinuxでFatal errorが出てしま...
-
あるDBから別のDBのテーブルをs...
-
数字で「そ」と「り」
-
複数行をINSERTで『ORA-00911: ...
-
MySQLにログインできなくて困っ...
-
本を見ながらPHPを勉強している...
-
phpMyAdminをCentOS7にインスト...
-
SQLServer2005 セカンダリファ...
-
logwatchのhttpdの部分について
-
SQLServerのselect文でデータ数...
-
ACCESSからリンクでのレコード...
-
MySQLで新規DB作成時、エラーが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
sql*loader 数値のロード
-
作成したレコードセットのCSV出...
-
MySQL Date型にNULLが設定でき...
-
CSVを1行しかインポートしない...
-
BAT処理でCSVデータのインポート
-
BCPコマンドについて
-
sqlite3でcsvのインポートがで...
-
MySQLで連続csvファイルを読み...
-
SQLサーバーにcsv.ファイル...
-
phpMyAdmin テキストインポート...
-
MySQLデータベースにcsvファイ...
-
セミコロンで区切り指定サイズ...
-
CSVインポート,日本語文字化け
-
CentOS(Linux)上の/var/lib/mys...
-
MySQL Sever5.0でのファイルの...
-
CSVファイルのインポートについて
-
phpMyAdminでのデータのインポ...
-
大容量CSVのインポート方法を教...
-
データベースファイル(.db)を開...
-
PL/SQLで@ファイル名が反応しま...
おすすめ情報