如果字符串只有开头有零,而字符串中间没有0,那么可以使用replace(字符串,'0','')
创新互联建站专业为企业提供桥西网站建设、桥西做网站、桥西网站设计、桥西网站制作等企业网站建设、网页设计与制作、桥西企业网站模板建站服务,十载桥西做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
如果0开头最长的位数不长,那么可以逐个判断。
比如我可能知道这里面最长的就是连续5个0开头的,这样我就判断如果遇到5个0开头的就截掉前五位,4个0开头截掉前四位,3个0开头截掉前三位,一直到1,逐个判断使用case when可以完成.但是如果最长的0开头个数不确定,就比较麻烦了。
jsp 见面吗? 如果是i的话。 就用JSTL的fmt:formatDate value="${值}" type="yyyy-MM-dd"标签 好像是这样的 长时间没用了 。 去谷歌搜一下
操作:
1、先在Excel中将这一列值加前缀,将 user_code的值变成字符型,如原来的001,002变成N001,N002,
2、将变后的Excel表导入到Oracle中,
3、用Uperdate 语句修改user_code列,去掉前缀字母“N”。
其实我觉得这种情况做个试验最好了,自己建个分区表,然后把每个分区建的小一点,分别插入数据看哪个分区的数据比较大就可以了 。
create table temp1
(month1 integer,
column1 varchar2(10))
PARTITION BY LIST ("MONTH1")
(PARTITION "M11" VALUES (201011)
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOLOGGING
STORAGE(INITIAL 1024 NEXT 1024 MINEXTENTS 1 MAXEXTENTS 5242880
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) , PARTITION "M12" VALUES (201012)
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOLOGGING
STORAGE(INITIAL 1024 NEXT 1024 MINEXTENTS 1 MAXEXTENTS 5242880
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
);
insert into temp1
values(201011,'0000000000');
commit;
insert into temp1
values(201012,'0');
commit;
declare i integer;
begin
for i in 1..16
loop
insert into temp1 select * from temp1;
commit;
end loop;
end;
select t.bytes,t.partition_name from dba_segments t where t.SEGMENT_NAME='TEMP1';
结果应该是
2097152 M11
1048576 M12
给你做个试验你就知道了
create table test
(id varchar2(6));
insert into test values ('120000');
insert into test values ('120010');
insert into test values ('120200');
insert into test values ('123000');
insert into test values ('123001');
commit;执行第一遍:
update test set id=substr(id,1,5) where id like '%0';
commit;此时结果:
执行第二遍:
update test set id=substr(id,1,4) where id like '%0';
commit;
后边就不举例了,也就是语句执行4遍,需要修改里边的参数。
我写一份,你试试,看看能不能通过一个SQL就能完成
select t.employee_id employee_id,
t.department_id department_id,
min(t.start_date) date,
min(t.start_date) start_date,
max(t.end_date) end_date,
(select t2.position
from table_name t2
where t2.employee_id = employee_id
and t2.department_id=department_id
and t2.end_date =end_date ) position
from table_name t
group by employee_id,
department_id,
position