個(gè)人知道的可以用lpad來補(bǔ)0(左邊,如果是右側(cè)補(bǔ)0,那么是rpad函數(shù)),如果想要保存的時(shí)候就有0,那么保存的時(shí)候需要是字符型的,不能是數(shù)字的,因?yàn)閛racle默認(rèn)數(shù)字前面是沒有0的,小數(shù)除外。
10年積累的網(wǎng)站設(shè)計(jì)制作、成都做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有商城免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
oracle中有l(wèi)pad,rpad函數(shù)。
lpad函數(shù)從左邊對(duì)字符串使用指定的字符進(jìn)行填充。從其字面意思也可以理解,l是left的簡(jiǎn)寫,pad是填充的意思,所以lpad就是從左邊填充的意思
語法格式如下:
lpad( string, padded_length, [ pad_string ] )
----------------------
select 'YB'||lpad('字段',6,'0') from dual
補(bǔ)空查詢和補(bǔ)零查詢是兩個(gè)不同概念。
補(bǔ)空查詢是將空格替換成特定字符,可用replace函數(shù)。
如test表中有如下數(shù)據(jù):
現(xiàn)在要將str字段內(nèi)的空格替換成s,可用如下語句:
select?replace(str,'?','s')?from?test;
結(jié)果:
補(bǔ)零查詢分為兩類,一類是左補(bǔ)0,一類是右補(bǔ)0。左補(bǔ)0用lpad,右補(bǔ)零用rpad。
test表中數(shù)據(jù)如下:
現(xiàn)在要求將str字段左補(bǔ)0,將其長(zhǎng)度保持在10位??捎靡韵抡Z句:
select?lpad(str,10,'0')?from?test;
結(jié)果:
現(xiàn)在要將str字段右補(bǔ)0,將其長(zhǎng)度保持在10位??捎靡韵抡Z句:
select?rpad(str,10,'0')?from?test;
結(jié)果:
select nvl(sname,'0') sname from table;
或者
select decode(sname,null,'0',sname) from table;