Oracle將數值轉化成負數的寫法
最近使用PL SQL在寫報表儲存過程的時候,需求人員提出要將提現金額寫成負值的形式
最初的寫法如下:
--計算提現金額
update elmp_daily_fund
set WITHDRAW_AMOUNT =
(select to_number('-' || (sum(l.amount) / 100))
from mis.ELMP_REPORT_CHARCASHFILL@db_mis l
where l.countdate >= begin_date
and l.countdate < begin_date + 1
and l.reporttype = 1
and status = 0)
where REPORT_DATE = begin_date;
報表JOB執行了幾天,出現報錯,ORA-01722 invalid number
查詢了一下論壇,發現有朋友問同樣的問題
解決方法是直接使用 - 和 abs 函式,更改後的SQL如下:
--計算提現金額
update elmp_daily_fund
set WITHDRAW_AMOUNT =
(select -abs(sum(l.amount) / 100)
from mis.ELMP_REPORT_CHARCASHFILL@db_mis l
where l.countdate >= begin_date
and l.countdate < begin_date + 1
and l.reporttype = 1
and status = 0)
where REPORT_DATE = begin_date;
最初的寫法如下:
--計算提現金額
update elmp_daily_fund
set WITHDRAW_AMOUNT =
(select to_number('-' || (sum(l.amount) / 100))
from mis.ELMP_REPORT_CHARCASHFILL@db_mis l
where l.countdate >= begin_date
and l.countdate < begin_date + 1
and l.reporttype = 1
and status = 0)
where REPORT_DATE = begin_date;
報表JOB執行了幾天,出現報錯,ORA-01722 invalid number
查詢了一下論壇,發現有朋友問同樣的問題
解決方法是直接使用 - 和 abs 函式,更改後的SQL如下:
--計算提現金額
update elmp_daily_fund
set WITHDRAW_AMOUNT =
(select -abs(sum(l.amount) / 100)
from mis.ELMP_REPORT_CHARCASHFILL@db_mis l
where l.countdate >= begin_date
and l.countdate < begin_date + 1
and l.reporttype = 1
and status = 0)
where REPORT_DATE = begin_date;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26506993/viewspace-2059684/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- python將中文數字轉化成阿拉伯數字Python
- js 將負數或小數轉成正整數JS
- R語言中如何將科學計數法轉換為數值型R語言
- 【c語言】將正數變成對應的負數,將負數變成對應的正數C語言
- [LeetCode] Integer to Roman 整數轉化成羅馬數字LeetCode
- [LeetCode] Roman to Integer 羅馬數字轉化成整數LeetCode
- javascript將引數轉換為數值程式碼詳解JavaScript
- JavaScript 負數轉換為正數JavaScript
- 【C語言】編寫一個函式,將一個數字字串轉換成該字串對應的數字(包括正整數、負整數)。C語言函式字串
- 金額數值轉換為中文大寫
- 《劍指offer》:[49]把字串轉化成整數字串
- oracle數值精度Oracle
- js將小寫數字轉換為大寫形式JS
- 用js實現將float型的科學計數法數字還原為正常寫法JS
- 負數補碼(16進位制轉10進位制的負數)
- 將金錢數額轉換為大寫
- 如何將JavaScript轉化成Swift?(三)JavaScriptSwift
- 如何將JavaScript轉化成Swift?(一)JavaScriptSwift
- 如何將JavaScript轉化成Swift?(二)JavaScriptSwift
- ORACLE USER 變數值Oracle變數
- 將普通的數字轉為color值,java和javascript的區別JavaScript
- tabIndex屬性值為負數的作用是什麼Index
- 在Java中,負數的絕對值竟然不一定是正數!!!Java
- 將網路圖片 轉化成bitmap
- javascript將日期轉化成時間戳JavaScript時間戳
- excel表格中怎樣將一列的數值全部加上一個數值Excel
- char型別的數值轉換型別
- 數值轉換為字元字元
- 慢慢寫 十二重計數法
- 數值在Oracle的內部儲存Oracle
- [Linux]變數加減賦值以及將String轉intLinux變數賦值
- oracle數值型別漫談Oracle型別
- Android&Java保留小數位數的幾種寫法AndroidJava
- 記一次bug解決過程(數字轉化成中文)
- C語言中寫一個程式將浮點型轉化成字元型輸出C語言字元
- 將字串轉為數字字串
- 編寫Word“宏”輕鬆將全形數字轉換為半形(轉)
- Oracle將小於1的數字to_char後,丟掉小數點前0的解決辦法Oracle