最近在实现一个把excel中录入的信息插入到数据库的需求,本来我们可以使用easyExcel加上java的业务代码就可以轻松实现,但是要求不用写程序,那就写sql语句吧,首先先要建立一个临时表,然后把excel的内容放到临时表中(这里直接使用Navicat的导入向导就可以了),然后进行连表查询,用个一系列的连表查询我们可以查询到我们需要插入的各个字段,之后使用install和select的复合语句进行插入就好了。这里我遇到了今天的主体,我发现插入有一部分数据的类型是不匹配的,比如我查人员列表查出字段hired_data是varcher字段的而我要插入的表的hired_date是int8字段的,这样插入就会错误,然后就需要进行类型转换,其实设计数据库的时候应该设置一样的,但是我是半途接到这个需求的只能改我的sql语句了,话不多说上代码:
cast(xxx.hired_date as int8)
这样就把我们的不同类型转换成我们想要的类型了