有補(bǔ)位的,但是沒有專門補(bǔ)0的,你想怎么補(bǔ)0?
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),昭陽(yáng)企業(yè)網(wǎng)站建設(shè),昭陽(yáng)品牌網(wǎng)站建設(shè),網(wǎng)站定制,昭陽(yáng)網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,昭陽(yáng)網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
如果是19改為19.00那么好像數(shù)據(jù)庫(kù)內(nèi)部直接就可以這樣保存,我記得可以設(shè)置精確到多少位,怎么設(shè)置我忘了,不過應(yīng)該是可以設(shè)置的。
類似這種我只會(huì)一個(gè)操作字符串的,不是操作數(shù)字的,是lpad(左補(bǔ)位)和rpad(右補(bǔ)位)
舉例:
假設(shè)原來(lái)是字段內(nèi)容為aa,
語(yǔ)句為select lpad(字段,5,'-') from table ,那么顯示的內(nèi)容為---aa。
如果是rpad那么則是aa---。5就是字符串總共的長(zhǎng)度,'-'是你要添加的字符。
SELECT substr('DF5811C4A0036', 1, 9)||trim(to_char((to_number(substr('DF5811C4A0036', -4, 4)) + 1), '0000') ) FROM DUAL;
oracle中to number函數(shù)是將一個(gè)字符串轉(zhuǎn)換為數(shù)字?jǐn)?shù)據(jù)類型,使用格式為
TO_NUMBER(value[, format, NLS parameter]) RETURN NUMBER。
補(bǔ)空查詢和補(bǔ)零查詢是兩個(gè)不同概念。
補(bǔ)空查詢是將空格替換成特定字符,可用replace函數(shù)。
如test表中有如下數(shù)據(jù):
現(xiàn)在要將str字段內(nèi)的空格替換成s,可用如下語(yǔ)句:
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(yǔ)句:
select?lpad(str,10,'0')?from?test;
結(jié)果:
現(xiàn)在要將str字段右補(bǔ)0,將其長(zhǎng)度保持在10位??捎靡韵抡Z(yǔ)句:
select?rpad(str,10,'0')?from?test;
結(jié)果:
補(bǔ)0,用lpad,就可以。不過這個(gè)是補(bǔ)字符的,轉(zhuǎn)換一下,然后補(bǔ)領(lǐng)就可以了,不過只能在顯示的時(shí)候用,存儲(chǔ)的時(shí)候似乎還是不行。
先不說(shuō)你空值用0表示的問題
就是opdate=sysdate估計(jì)你也很難得到結(jié)果,sysdate表示系統(tǒng)當(dāng)前時(shí)間,包含時(shí)分秒,你那個(gè)opdate怎么可能會(huì)和sysdate相等呢?
真的要是把空值用0表示的話,oracle中有nvl函數(shù)
select nvl(workbillid,0) from kf_workbill
意思就是把workbillid字段為空的顯示成0,當(dāng)然也可以顯示成任何字符或者數(shù)字
友情提醒一下:
你那個(gè)opdate=sys笭法蒂盒酈谷墊貪??琩ate是不是該改成
to_char(opdate,'yyyymmdd')=to_char(sysdate,'yyyymmdd')