通過在設置保留的小數位數,以及小數位數以後的尾數的處理方法,可以靈活的滿足客戶要求
處理方法表
AMOUNTDOT NUMBER(4,2) DEFAULT 0.01, --金額精確度 1: 精確到元 0.1:精確到角 0.01:精確到分ROUNDING NUMBER(1) , --捨入分界 -- 9: 全捨 0: 全入 4:四捨5入
建立Oracle函數,傳入設置ID,傳入金額,返回處理過的金額
存儲過程實現代碼如下
create or replace function Get_Real_Number ( --根據處理方法ID,取得處理後的金額-計算的金額ID IN NUMBER, -- 處理方法IDn_Amount IN NUMBER) ------------------------------------------------------------------------- 用 途 自定義數據精度處理。-- 創建者 :Andrew------------------------------------------------------------------------- 修改記錄列表:(按日期的先後順序逆序排列)-- 修改時間 修改人 實現的功能說明-- 9 全捨 0 全入 4四捨5入 -----------------------------------------------------------------------return NUMBER-- 返回的金額ISv_amountdot VARCHAR2(5); --小數位數字符v_keep NUMBER ; --保留的小數位數v_rounding NUMBER ; --捨入分界v_Amount NUMBER:=0 ; --返回的金額BEGIN
SELECT amountdot, nvl(rounding,0) INTO v_amountdot,v_rounding FROM 處理方法表WHERE id = SALE_PLACE_ID;v_keep := Length(v_amountdot) - instr(v_amountdot,'.') ; --要保留的小數位數IF v_rounding = 9 THEN --處理全捨棄v_Amount := trunc(n_Amount,v_keep);END IF;IF v_rounding = 4 THEN --處理四捨五入v_Amount := round(n_Amount,v_keep);END IF;IF v_rounding = 0 THEN --處理全進位v_Amount := trunc(n_Amount,v_keep); --小數為數剛好等於要求保留的數IF v_Amount <> n_Amount THEN --如果截取後的數與原來的數字不同,進1v_Amount := v_Amount + to_number(v_amountdot);END IF;RETURN v_Amount;
exceptionwhen OTHERS then RETURN n_Amount; &nbs
END Get_Real_Number;
最近服務器執行收縮日志文件大小的job老是報錯我所用的一個批
非對稱密鑰包含數據庫級的內部公鑰和私鑰,它可以用來加
SQL Server 2014 CTP2之後公布了一項針對備
目標:本文主要介紹PowerDesigner中概念數據模型
SQL Server本身提供了這麼一個DMV來返回這
簡介在SQL Server中,數據是按頁進行存