马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
每个Rows_log_event中包含event_type,可选值为WRITE_ROWS_EVENT、UPDATE_ROWS_EVENT、DELETE_ROWS_EVENT。从宏名字就能看出用途。
在营业体系中,分歧的客户对小数的处置有分歧的办法
经由过程在设置保存的小数位数,和小数位数今后的尾数的处置办法,能够天真的满意客户请求
处置办法表
IDNUMBER(1),--设置ID
AMOUNTDOTNUMBER(4,2)DEFAULT0.01,--金额准确度1:准确到元0.1:准确到角0.01:准确到分ROUNDINGNUMBER(1),--舍进分界--9:全舍0:全进4:四舍5进
创建ORACLE函数,传进设置ID,传进金额,前往处置过的金额
存储历程完成代码以下
createorreplacefunctionGet_Real_Number(--依据处置办法ID,获得处置后的金额-盘算的金额IDINNUMBER,--处置办法IDn_AmountINNUMBER)-------------------------------------------------------------------------用途自界说数据精度处置。--创立者:Andrew-------------------------------------------------------------------------修正纪录列表:(按日期的前后按次逆序分列)--修正工夫修正人完成的功效申明--9全舍0全进4四舍5进-----------------------------------------------------------------------returnNUMBER--前往的金额ISv_amountdotVARCHAR2(5);--小数位数字符v_keepNUMBER;--保存的小数位数v_roundingNUMBER;--舍进分界v_AmountNUMBER:=0;--前往的金额BEGIN
SELECTamountdot,nvl(rounding,0)INTOv_amountdot,v_roundingFROM处置办法表WHEREid=SALE_PLACE_ID;v_keep:=Length(v_amountdot)-instr(v_amountdot,.);--要保存的小数位数IFv_rounding=9THEN--处置全舍弃v_Amount:=trunc(n_Amount,v_keep);ENDIF;IFv_rounding=4THEN--处置四舍五进v_Amount:=round(n_Amount,v_keep);ENDIF;IFv_rounding=0THEN--处置全进位v_Amount:=trunc(n_Amount,v_keep);--小数为数恰好即是请求保存的数IFv_Amountn_AmountTHEN--假如截取后的数与本来的数字分歧,进1v_Amount:=v_Amount+to_number(v_amountdot);ENDIF;RETURNv_Amount;
exceptionwhenOTHERSthenRETURNn_Amount;
ENDGet_Real_Number;
mysql使用内部操作字符集gbk来进行操作,即执行"SELECT*FROMtestWHEREname=xxxor1=1/*LIMIT1";从而注入成功 |