Convert String ke number digunakan untuk perhitungan matematika yang ada perkalian, pembagi, tambah dan ada pengurang, supaya itu bisa berjalan kita harus membuat function supaya dari data string menjadi number agar bisa di hitung. Berikut function untuk menghitung dari string ke number.
Sebelum itu kita pastikan versi oracle minimal 11g, dengan perintah :
select * from v$version where rownum=1;
setelah itu kita akan membuat function untuk convert string to number
CREATE FUNCTION EVAL_SIMPLE_ARITHMETIC_EXPR(VEXPR IN VARCHAR2) RETURN NUMBER IS EVALUATED NUMBER; BEGIN SELECT XMLQUERY(REPLACE( VEXPR, '/', ' DIV ') RETURNING CONTENT).GETNUMBERVAL() INTO EVALUATED FROM DUAL; RETURN EVALUATED; END EVAL_SIMPLE_ARITHMETIC_EXPR;
Setelah function di buat kita jalankan perintah berikut untuk memcoba menghitung hasil convert string to number
SELECT EVAL_SIMPLE_ARITHMETIC_EXPR('1*2*3+4+5*6+7') FROM DUAL;
Sekian tutorial kali ini semoga bermanfaat
Referensi