本文主要是介绍mysql-导入的字符串型日期数据后再转化成datatime类型2,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
导入一个文件:
load data local infile '/root/Desktop/data.txt' into table euros fields terminated by '\t' line terminated by '\n'
现在这个euros的结果是这样的:
| id | date | open | low | hight | close | changes | date_real |
+----+-------------+--------+--------+--------+--------+---------+------------+
| 1 | 11 21 2018 | 1.1410 | 1.1372 | 1.1425 | 1.1366 | 0.0033 | 2018-11-21 |
| 2 | 11 20 2018 | 1.1372 | 1.1455 | 1.1472 | 1.1359 | -0.0071 | NULL |
| 3 | 11 19 2018 | 1.1453 | 1.1403 | 1.1467 | 1.1393 | 0.0029 | NULL |
| 4 | 11 16 2018 | 1.1420 | 1.1330 | 1.1423 | 1.1320 | 0.0081 | NULL |
| 5 | 11 15 2018 | 1.1328 | 1.1309 | 1.1364 | 1.1271 | 0.0016 | NULL
如果想把data变成date格式的行要这么做:
1. 新建一列
alter table euros add date_real date;
2. 把原有的date列数据格式化成日期型数据 再复制过来,
update euros set date_real=str_to_date(date,'%m %d %Y')
这的过程中date_real作为date型数据会自动接收被转换了的数据。但是不可以直接把字符串数据复制过来。
3. 将原有的date列清空为null
update euros set date=null;
4. 把date的数据类型变成date
alter table euros date date;
5. 把date列复制过来;
update euros set date = date_real;
6. 把多余的那一列删除
alter table drop date_real;
也可以在第4步直接删除date列再把date_real弄到id和open之间:
alter table euros drop date;
alter table euros modify date_real date after id;
这篇关于mysql-导入的字符串型日期数据后再转化成datatime类型2的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!