如果字符串只有開頭有零,而字符串中間沒有0,那么可以使用replace(字符串,'0','')
創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供橋西網(wǎng)站建設(shè)、橋西做網(wǎng)站、橋西網(wǎng)站設(shè)計、橋西網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、橋西企業(yè)網(wǎng)站模板建站服務,十載橋西做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務。
如果0開頭最長的位數(shù)不長,那么可以逐個判斷。
比如我可能知道這里面最長的就是連續(xù)5個0開頭的,這樣我就判斷如果遇到5個0開頭的就截掉前五位,4個0開頭截掉前四位,3個0開頭截掉前三位,一直到1,逐個判斷使用case when可以完成.但是如果最長的0開頭個數(shù)不確定,就比較麻煩了。
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”。
其實我覺得這種情況做個試驗最好了,自己建個分區(qū)表,然后把每個分區(qū)建的小一點,分別插入數(shù)據(jù)看哪個分區(qū)的數(shù)據(jù)比較大就可以了 。
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';
結(jié)果應該是
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;執(zhí)行第一遍:
update test set id=substr(id,1,5) where id like '%0';
commit;此時結(jié)果:
執(zhí)行第二遍:
update test set id=substr(id,1,4) where id like '%0';
commit;
后邊就不舉例了,也就是語句執(zhí)行4遍,需要修改里邊的參數(shù)。
我寫一份,你試試,看看能不能通過一個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