2016-10-26 16 views
0

LOAD DATA LOCAL INFILEを使用して金額を読み込めません。 「金額」という列が1つあるテキストファイルがあります。私の問題は、このフィールドはテキストファイルに20,200.00と-61,066.11などの値があることです。これらの値をMySQLデータベースにロードしようとすると、ロードされるのは20と-61だけです。 テーブルに全額をロードするにはどうすればよいですか? Decimal(10,2)データ型を使用しています。 次のクエリを使用しています。 LOAD DATA LOCAL INFILE 'C:/Users/Dataction123/Desktop/nordic.txt' INTO TABLEは、 '\ r \ n'で終端されたLinesを使用しています。LOAD DATA LOCAL INFILEを使用して金額を読み込む方法は?

答えて

0
LOAD DATA LOCAL INFILE 'C:/Users/Dataction123/Desktop/nordic.txt' IGNORE 
INTO TABLE spend_nordic 
FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\r\n' 
(int_col, @float_col) 
SET float_col = replace(@float_col, ',', '.'); 

説明:それがファイルから読み取るとき

MySQLは前がSET句に記載された変換を適用し、カラム型に値をキャスト。変数に読み込むように指示すると、値は最初から文字列として扱われます。 float_colはフィールドの名前です。あなたのコメントを参照Click here

+0

おかげHimeshについては

。上のクエリでは、int_colと@float_colは何ですか?申し訳ありませんが、MySQLの新機能です。 – user2663104

+0

ありがとうございます。今すぐこのクエリを試してみましょう。 – user2663104

+0

負荷データLOCAL INFILE 'C:/Users/Dataction123/Desktop/nordic.txt' は、 '\ tの' BY TERMINATED線でTERMINATED表spend_nordic フィールドにIGNORE '\ R \ n' は (InvoiceNum、@Amount) SET Amount = replace(@Amount、 '、'、 '。');上記のクエリを使用すると、エラー1054 - 不明な列 'InvoiceNum'が表示されます。ここでInvoiceNumは私のファイルにあるフィールドで、 'Amount'はDBの欄である – user2663104

関連する問題