Я хочу сделать перевод "12/26/17 14:30" в txt в "2017-12-26 14:30:00" в MySQL
Я уже пробовал это Импортировать CSV в MySQL с другим форматом date0
Итак, мой код выглядит так
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 и попытаюсь импортировать в свой db, это результат, который я получаю, терминал не может распознать имя столбца таблицы.
$:~/Downloads/bartest$ mysql -u root -p bar -A < bartest.sql
Enter password:
ERROR 1193 (HY000) at line 21: Unknown system variable 'Datetime'
Любое предложение?
STR_TO_DATE(@time,'%y-%m-%d %H:%i:%S');
возвращает null, поскольку он не соответствует шаблону ввода строки.
Попробуйте что-то вроде этого: STR_TO_DATE('12/26/17 14:30','%m/%d/%y %k:%i');
После извлечения в DATE конвертируйте его в желаемый формат даты.
Чтобы сделать это за один шаг, вы также можете попробовать: "SELECT CONVERT (datetime, '12/26/17 14:30 ');
Надеюсь, это поможет!
mysql
.name
---DATETIME
не следует использовать в качествеname
. Я бы переименовал ваше поле во что-то менее "параметр-иш"