【问题标题】:How to Load amount using LOAD DATA LOCAL INFILE?如何使用 LOAD DATA LOCAL INFILE 加载金额?
【发布时间】:2016-10-26 10:15:14
【问题描述】:

我无法使用 LOAD DATA LOCAL INFILE 加载数量 我有一个文本文件,其中有一列名为“金额”。我的问题是该字段在文本文件中的值为 20,200.00 和 -61,066.11 等。当我尝试在我的 MySQL 数据库中加载这些值时,它只加载 20 和 -61。 我应该怎么做才能将全部金额加载到我的表中? 我正在使用 Decimal(10,2) 数据类型。 我正在使用以下查询。 将 DATA LOCAL INFILE 'C:/Users/Dataction123/Desktop/nordic.txt' 加载到表中以 '\r\n' 终止的数据行中;

【问题讨论】:

    标签: mysql database


    【解决方案1】:
    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

    【讨论】:

    • 感谢 Himesh 的评论。在上面的查询中,int_col 和@float_col 是什么?抱歉,我是 MySQL 新手。
    • 谢谢。现在让我试试这个查询。
    • 加载数据本地 INFILE 'C:/Users/Dataction123/Desktop/nordic.txt' IGNORE INTO TABLE spend_nordic FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\r\n' (InvoiceNum, @金额) SET 金额 = 替换(@Amount, ',', '.');当我使用上述查询时,我收到错误 1054 - Unknown column 'InvoiceNum'。这里 InvoiceNum 是我文件中的字段,“Amount”是 DB culumn,
    • 试试这个 LOAD DATA LOCAL INFILE 'C:/Users/Dataction123/Desktop/nordic.txt' IGNORE INTO TABLE send_nordic FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\r\n' (int_col , @Amount) SET float_col = replace(@Amount, ',', '.');
    • 其实你需要通过mysql文档和给定的例子dev.mysql.com/doc/refman/5.6/en/load-data.html
    猜你喜欢
    • 1970-01-01
    • 2014-01-25
    • 1970-01-01
    • 1970-01-01
    • 2013-03-11
    • 2012-06-01
    • 2012-10-05
    • 1970-01-01
    相关资源
    最近更新 更多