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でCSVから指定した列のみインポートしたい。
Oracle
-
SQL*Loaderで、データを加工してロードしたいです。
Oracle
-
-
4
SQL*Loaderでのsysdate使用
Oracle
-
5
sqlldrのフィールドの属性について
Oracle
-
6
SQL*Loader フォーマット変換について
Oracle
-
7
SQLLOADER
Oracle
-
8
SQL*Loader Append
Oracle
-
9
データ削除とSQL*Loaderでのインポート
Oracle
-
10
SQL*Loader
Oracle
-
11
SQL*Loaderのコミットポイント設定がうまくいってない?
Oracle
-
12
カンマがデータとして入ってるCSVについて
Oracle
-
13
SQL*LOADER実行時のロードデータチェック
Oracle
-
14
sqlldrの使用方法について
Oracle
-
15
PL/SQLをWindowsのBATファイルで実行するには
Oracle
-
16
Oracleのデータ型、NUMBERについて
その他(データベース)
-
17
NUMBER(N,M) としたときの、格納データサイズ(バイト)
Oracle
-
18
Oracleでの文字列連結サイズの上限
Oracle
-
19
ORA-01722: 数値が無効です
Oracle
-
20
SQL*Loader 最終行が数値の場合
Oracle
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
sql*loader 数値のロード
-
MySQLのLOAD文を使ってCSV...
-
作成したレコードセットのCSV出...
-
データベースファイル(.db)を開...
-
PL/SQLで@ファイル名が反応しま...
-
あるDBから別のDBのテーブルをs...
-
数字で「そ」と「り」
-
create databaseがうまくいきま...
-
mySQLのデータベースにhtmlのコ...
-
Mysqlのデータベースのリンク
-
htmlフォームから受け取ったフ...
-
SQLServer2005 セカンダリファ...
-
SQLServerのselect文でデータ数...
-
mysqlにおけるホストのパーセン...
-
【初心者です】SQLPLUSでのバッ...
-
Access2010でアクセス制限をしたい
-
MySQLへの特殊文字の挿入について
-
phpMyAdminのSQL文実行エラー
-
logwatchのhttpdの部分について
-
htmlタグを含んだ文字のデータ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
sql*loader 数値のロード
-
作成したレコードセットのCSV出...
-
CSVを1行しかインポートしない...
-
BCPコマンドについて
-
MySQL Date型にNULLが設定でき...
-
MySQLで連続csvファイルを読み...
-
MySQLデータベースにcsvファイ...
-
sqlite3でcsvのインポートがで...
-
BAT処理でCSVデータのインポート
-
MySQLのLOAD文を使ってCSV...
-
phpmyadminでcsvインポートで文...
-
phpMyAdminでのデータのインポ...
-
csv形式のファイルをダウンロー...
-
SQLサーバーにcsv.ファイル...
-
データのインポート、エクスポ...
-
MySQLにCSVファイルを入れる...
-
データベースファイル(.db)を開...
-
PL/SQLで@ファイル名が反応しま...
-
あるDBから別のDBのテーブルをs...
-
PL/SQLをWindowsのBATファイル...
おすすめ情報