Oracle中用SQL語句如何實(shí)現(xiàn)進(jìn)制間互相轉(zhuǎn)換?
首先,字符串必須是數(shù)字形式的字符串,如“12345”或“-12345”等。然后需要用to_number函數(shù)進(jìn)行轉(zhuǎn)換。如:
1select to_number('12345') from dual;這樣就將字符轉(zhuǎn)成了數(shù)字,并可以參與加減乘除的運(yùn)算。
這個你估計(jì)得自定義函數(shù)了,不能直接用to_number創(chuàng)建函數(shù)12345678910create or replace function isNumber(p in varchar2)return numberistest number;begintest := to_number(p)
;return test;exceptionwhen VALUE_ERROR then return 0;end;測試1,純數(shù)字測試2 帶非數(shù)字的字符測試3,負(fù)數(shù)測試4 小數(shù)測試5 0總之就是測試5和測試2的結(jié)果是一樣,這個你看你打算怎么解決吧拓展資料有沒有小數(shù)點(diǎn)?如果有小數(shù)點(diǎn)的話SELECT trunc(to_number('1234,56897'),2) from dual如果全是整的話,那么就是select to_number('1234,56897'),2) from dual