我想做的是将txt中的“12/26/17 14:30”转换为mysql中的“2017-12-26 14:30:00”
我已经尝试过用不同的日期格式0将csv导入mysql
所以我的代码是这样的
create_tb_str = r'''DROP TABLE IF EXISTS TABLENAME;
CREATE TABLE TABLENAME (
Datetime DATETIME,
Open float(8,3),
High float(8,3),
Low float(8,3),
Close float(8,3),
Volume INT,
PRIMARY KEY (Datetime)
);'''
insert_tb_str = r''' LOAD DATA LOCAL INFILE 'FILENAME'
INTO TABLE TABLENAME FIELDS TERMINATED BY '\t\t'
ENCLOSED BY '"' LINES
TERMINATED BY '\n'
(@time, open, high, low, close, @dummy, volume);
SET Datetime = STR_TO_DATE(@time,'%y-%m-%d %H:%i:%S');
'''
但是,在我生成.sql并尝试导入到我的数据库后,这是我得到的结果,终端无法识别我的表的列名。
$:~/Downloads/bartest$ mysql -u root -p bar -A < bartest.sql
Enter password:
ERROR 1193 (HY000) at line 21: Unknown system variable 'Datetime'
有什么建议吗?
1条答案
按热度按时间eivnm1vs1#
STR_TO_DATE(@time,'%y-%m-%d %H:%i:%S');
返回null,因为它与字符串输入模式不匹配。请尝试以下操作:
STR_TO_DATE('12/26/17 14:30','%m/%d/%y %k:%i');
提取日期后,将其转换为所需的日期格式。要单步完成,您还可以尝试:“select convert(datetime,'12/26/17 14:30');”
希望有帮助!