某個欄位格式如下:xxxxxx[2016]1號、xxxxxx[2017]10號。 現在我需要對末尾的號數進行處理,不足三位就補0,比如1號改為001,10號改為010 。求教這個程序應該怎么寫?
uj5u.com熱心網友回復:
SQL>
SQL> create table test(name varchar(30));
Table created
SQL> begin
2 insert into test values('xxxxxx[2016]1號');
3 insert into test values('xxxxxx[2017]10號');
4 end;
5 /
PL/SQL procedure successfully completed
SQL> select regexp_substr(name,'[^]號]+',1,1) || ']' || lpad(regexp_substr(name,'[^]號]+',1,2),3,'0') || '號'
2 from test;
REGEXP_SUBSTR(NAME,'[^]號]+',1
--------------------------------------------------------------------------------
xxxxxx[2016]001號
xxxxxx[2017]010號
SQL> drop table test purge;
Table dropped
SQL>
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/99324.html
標籤:基礎和管理
