将CSV导入MySQL并转换日期(在多列上)

时间:2016-06-26 10:20:33

标签: mysql date csv

我意识到这个主题有很多帖子,但是我找不到一个处理导入数据的帖子,这些数据有多个需要转换的日期列。

我的列如下,粗体的列是日期列;

日期,符号,下方,到期,执行,put_call,bid,ask,price,volume,open_interest,implied_vol,delta,gamma,theta,vega, nonstd)

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

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

请注意底部的两个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');

1 个答案:

答案 0 :(得分:0)

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