不知道access里面有没有类似这样的函数,如果有的话,也可以先在access那边update,然后access导出文本,然后在mysql里面用load data infile导入就可以了,导入后,如果之前没有在access上面进行update操作的话,则可以在mysql上面用前面说的unix_timestamp处理: alter table tb_name add new_time bigint; update tb_name set new_time=unix_timestamp(旧格式的时间字段);
现在问题是这样的,我把ACCESS数据导出到EXCEL中,想通过EXCEL去生成关键语句的插入脚本,其中,日期型获取时总是变成数据,有遇到过这种问题么,是怎么解决的?insert into table values('"&E1&"');//只写出关键部分语句EXCEL某一列E1,本来是2008-10-30这种格式,但通过'"&E1&"'取出后,就变成整形了。
应该不会啊,估计你单元格的数据类型不对,你试改下“单元格格式”下的“数值”里面的类型看看吧对了,access不能直接导出文本吗?如果可以的话,直接把结果导出文本 然后在mysql上建立好对应表,接着用load data infile就可以了,示例: load data infile "d:\\test_resut.txt" into table tb_name;
insert into table values('"&E1&"');//只写出关键部分语句 ----------->insert into table values('"&TEXT(E1,"yyyy-mm-dd")&"');
不过你可以这样处理,你先把这个时间字段导进mysql里面的datetime字段,然后用unix_timestamp进行update就可以了update tb_name set 时间字段的field_name=unix_timestamp(时间字段的field_name);
你这思路倒也不失为一个方法,呵呵,
就没有一次性处理的方式么?比如在导入前,先期对ACCESS按照什么方式先处理好?
alter table tb_name add new_time bigint;
update tb_name set new_time=unix_timestamp(旧格式的时间字段);
然后在mysql上建立好对应表,接着用load data infile就可以了,示例:
load data infile "d:\\test_resut.txt" into table tb_name;
----------->insert into table values('"&TEXT(E1,"yyyy-mm-dd")&"');
时间可以用 unix_timestamp 来转换。