Excel批量数据拼接转换为oracle insert 插入语句
Excel批量数据拼接转换为oracle insert 插入语句
使用excel 公式实现:
使用最简单的,在要输入公式的单元格写上=””,在双引号里面写入INSERT语句脚本,例如:
INSERT INTO MY_TABLE_NAME(ONE,TWO,THREE,FOUR,FIVE, SIX)VALUES('"&&"','"&&"','"&&"','"&&"','"&&"',TO_DATE('"&&"','YYYY-MM-DD'));
&&中间,写上目标单元格的位置,这里是从第一列第二行开始,即&A2&,意思就是ONE的值就是A2单元格的值,第二列第三列的依次类推,最后把鼠标光标放到公式最后面,再按Enter键,这样第一行的公式就写好了。
鼠标定位到公式单元格右下角,当鼠标成为黑十字,双击,即可此列后续行全部应用此公式。
选中这列公式行,复制一下,粘贴到Notepad++中,去掉双引号即可,这样SQL脚本就出来了。
注意日期格式转换:
如果six的格式是日期字符串,则可以通过 &TEXT(F2,"yyyy/mm/dd hh:mm:ss")&
进行日期时间格式化。
="insert into my_table_name(one, two, three, four, five, six)
values ('"&A2&"','"&B2&"' , '"&C2&"' , '"&D2&"' , '"&E2&"' , '"&TEXT(F2,"yyyy/mm/dd hh:mm:ss")&"' );"
如果six字段为日期格式,可以通过oracle 方法to_date('"&TEXT(F2,"yyyy/mm/dd hh:mm:ss")&"','yyyy/mm/dd hh24:mi:ss')
转换成日期格式。冗余写法如下:
="insert into my_table_name(one, two, three, four, five, six)
values ('"&A2&"','"&B2&"' , '"&C2&"' , '"&D2&"' , '"&E2&"' , to_date('"&TEXT(F2,"yyyy/mm/dd hh:mm:ss")&"','yyyy/mm/dd hh24:mi:ss') );"
【可以使用to_date('"&F2&"','yyyy/mm/dd hh24:mi:ss')
强转,F列格式必须为类似日期格式的字符串,例如“2020-12-15 14:19:56”】
Excel 中公式 =CONCATENATE(text1, text2,……)
也同样适用。
插入此公式的单元格的属性需要设置为“常规”,否则只会显示公式,不显示成计算值。
被选中单元格的属性无要求。