从word得到表格数据插入数据库(6位行业代码)

复制表格到excel

点击表格左上角选中全部表格,然后crtl+c,再贴到excel中

从word得到表格数据插入数据库(6位行业代码)

可以发现,大类代码,单元格往下走,碰到下一个有值的之前,都是上一个的范围

从word得到表格数据插入数据库(6位行业代码)

填充空白单元格

1.选中前四列,然后ctrl+g定位空白表格

从word得到表格数据插入数据库(6位行业代码)

2.按住ctrl,点击有值的下一个单元格,写入等于上一个单元格的公式,然后ctrl+enter

从word得到表格数据插入数据库(6位行业代码)

写插入数据库语句

最好写成insert into values(1, 2, 3), (1, 2, 3);

但Oracle不支持

从word得到表格数据插入数据库(6位行业代码)

最好双击写公式的单元格,然后复制,得到sql如下

数据太多直接崩了

从word得到表格数据插入数据库(6位行业代码)

oracle命令行导入sql文件

1.建表,字段值远大于实际值,防止空格这些引起超长度

-- Create table
create table INDUSTRY
(
code1 VARCHAR2(),
code2 VARCHAR2(),
code3 VARCHAR2(),
code4 VARCHAR2(),
code5 VARCHAR2(),
industry_name VARCHAR2()
)
tablespace SYSTEM
pctfree
pctused
initrans
maxtrans
storage
(
initial 64K
next 1M
minextents
maxextents unlimited
);
-- Add comments to the columns
comment on column INDUSTRY.code1
is '1位代码';
comment on column INDUSTRY.code2
is '2位代码';
comment on column INDUSTRY.code3
is '3位代码';
comment on column INDUSTRY.code4
is '4位代码';
comment on column INDUSTRY.code5
is '6位代码';
comment on column INDUSTRY.industry_name
is '行业名称';

2.打开cmd窗口,输入命令如下:sqlplus username/password@ip:port/实例名

3.@C:\Users\user\Downloads\6位行业代码插入\2.sql(你的文件的位置)

从word得到表格数据插入数据库(6位行业代码)

从word得到表格数据插入数据库(6位行业代码)

去除空格

update industry set
code1 = trim(code1),
code2 = trim(code2),
code3 = trim(code3),
code4 = trim(code4),
code5 = trim(code5),
industry_name = trim(industry_name)

从word得到表格数据插入数据库(6位行业代码)

处理不合格数据

从word得到表格数据插入数据库(6位行业代码)

可发现,code2,code3,code4应该为code5的前几位

通过sql找出不合格的数据

select * from industry
where length(code5)=
and (
substr(code5,,)!=code2
or substr(code5,,)!=code3
or substr(code5,,)!=code4
)

从word得到表格数据插入数据库(6位行业代码)

执行更新sql

update industry set
code2 = substr(code5,,),
code3 = substr(code5,,),
code4 = substr(code5,,)
where length(code5)=
and (
substr(code5,,)!=code2
or substr(code5,,)!=code3
or substr(code5,,)!=code4
)

不合格数据2

select * from industry
where length(code4)=
and (
substr(code4,,)!=code2
or substr(code4,,)!=code3
)

更正sql

update industry set
code2 = substr(code4,,),
code3 = substr(code4,,)
where length(code4)=
and (
substr(code4,,)!=code2
or substr(code4,,)!=code3
)

处理填充过来的标题跟0

select * from industry
where length(code2)!=
or length(code3)!=
or length(code4)!=
or length(code1)!=
for update

从word得到表格数据插入数据库(6位行业代码)

更正为

从word得到表格数据插入数据库(6位行业代码)

上一篇:inux中tail命令---用于查看文件内容


下一篇:【WinForm】使用NSIS发布程序