oracle 將科學計數法數據轉換為非科學計數法數據


oracle 自定義函數:

CREATE OR REPLACE FUNCTION ConvertNumeric(rawData VARCHAR2)
--用於返回轉換科學計算法dhx
RETURN   VARCHAR2
IS
finalData VARCHAR2(200);
EIndex INT;
BEGIN
   EIndex := 0;
   EIndex := instr(upper(rawData),'E');
   if EIndex>0 then
      if (substr(rawData,EIndex+1,1)='+' and length(substr(rawData,0,EIndex-1))>0 and length(substr(rawData,EIndex+2))>0) then
         finalData:=to_char(to_number(substr(rawData,0,EIndex-1))*power(10,to_number(substr(rawData,EIndex+2))));
      elsif (substr(rawData,EIndex+1,1)='-' and length(substr(rawData,0,EIndex-1))>0 and length(substr(rawData,EIndex+2))>0 )then
         finalData:=to_char(to_number(substr(rawData,0,EIndex-1))/power(10,to_number(substr(rawData,EIndex+2))),'fm99999999999999999999990.9999999999999999');
      else
         finalData:=rawData;
      end if;
   else
          finalData:=rawData;
   end if;
   RETURN finalData;
   EXCEPTION
       WHEN OTHERS THEN
            finalData:=rawData;
   RETURN finalData;
END ConvertNumeric;
用於返回轉換科學計算法

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM