【问题标题】:Import CSV to MySQL and convert date (on multiple columns)将 CSV 导入 MySQL 并转换日期(在多个列上)
【发布时间】:2016-06-26 10:20:33
【问题描述】:

我意识到有很多关于这个主题的帖子,但我一直无法找到一个处理导入具有多个需要转换的日期列的数据的帖子。

我的栏目如下,粗体为日期栏;

(日期、符号、下、到期、罢工、看跌期权、出价、要价、价格、交易量、未平仓量、隐含交易量、delta、gamma、theta、vega、非标准)

我已经能够成功转换其中一个日期列,但我似乎无法同时进行。

我一直在尝试使用的代码如下。

注意底部的两个 set 语句。知道为什么过期不起作用吗?它只是在 SQL 中显示为黑色,而日期显示为浅蓝色。

谢谢

LOAD DATA LOCAL INFILE 'A:\\My Files\\Desktop\\SPX\\test.csv'
INTO TABLE spx_options_data2 
COLUMNS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(@date, symbol, under, @expiration, strike, put_call, bid, ask, price, volume, open_interest, implied_vol, delta, gamma, theta, vega, nonstd)
SET date = STR_TO_DATE(@date, '%d/%m/%Y')
SET expiration = STR_TO_DATE(@expiration, '%d/%m/%Y');

【问题讨论】:

  • set date = STR_TO_DATE(@date, '%d/%m/%Y'), expiration = ...
  • 谢谢大家,Solarflare 成功了!谢谢!

标签: mysql date csv


【解决方案1】:

除了@Solarflares 更正之外,如果我在 csv 文件中的日期字段被“括起来”,我会在第二个日期字段上收到警告。注释掉转义的 by 子句解决了这个问题。我也会怀疑 date 这个词在 Set 语句中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-22
    相关资源
    最近更新 更多