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;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值