【问】将Excel数据导入到Mysql数据库后,格式错乱无法对日期数据进行date_format()操作
【答】导入Excel数据的时候没有先将日期格式转化为时间戳导致的。正确的做法是:
1)导入数据前,先将Excel日期格式数据进行时间戳转化
2)导入数据以后,再使用sql语句修改时间戳这一列为日期
注:Excel日期格式转时间戳公式: 转化后字段 =('转化前字段'-70*365-19)*86400-8*3600
#增加一列用于存放日期
alter table 表名 add 列名1 varchar(255);
#从时间戳里抽取日期,比如2020-01-01
update 表名
set 列名1=from_unixtime(时间戳这一列的列名,'%Y-%m-%d');
比如:
#增加一列用于存放日期
ALTER TABLE `收车登记` ADD 帐期日4 datetime;
#从时间戳里抽取日期,比如2020-01-01
UPDATE `收车登记`
SET 帐期日4=from_unixtime(帐期日2,'%Y-%m-%d');
修改后结果如下:
进行date_format()函数操作:
SELECT DATE_FORMAT(帐期日3,'%Y') FROM `收车登记`