成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Oracle小數點的實際保留問題的4方案

數據庫 Oracle
我們今天主要和大家分享的是Oracle小數點的實際保留問題,其具體的方法有4個,其中包括to_char的fm格式的使用,以下就是相關內容的介紹。

以下的文章主要是講述Oracle小數點的實際保留問題,如果你有相關的業務清單有提取要求的話,我們需要使用到百分率,通常的情況下,需要對其保留兩位小數,其實我們只用round就可以實現(round(_data,2) ),但是格式不是很工整。

對格式要求不嚴謹的情況下使用round即可,以下是網絡搜索到的處理方法:

方法一:使用to_char的fm格式,即:

 

  1. to_char(round(data.amount,2),'FM9999999999999999.00') as amount 

不足之處是,如果數值是0的話,會顯示為.00而不是0.00。

另一需要注意的是,格式中Oracle小數點左邊9的個數要夠多,否則查詢的數字會顯示為n個符號“#”。

解決方式如下:

 

  1. select decode(salary,0,'0.00',(to_char(round(salary,2),'fm99999999999999.00'))) from can_do; 

方法二:使用case when then else end進行各種情況的判斷處理:

 

  1. case  
  2. when instr(to_char(data.amount), '.') < 1 then  
  3. data.amount || '.00'  
  4. when instr(to_char(data.amount), '.') + 1 = length(data.amount) then  
  5. data.amount || '0'  
  6. else  
  7. to_char(round(data.amount, 2))  
  8. end as amount_format  

 

方法三:可以使用Oracle自帶的參數設置,即

 

  1. column amount format l9999999999.99 

此方法的不足是,format中的Oracle小數點左面的9的個數要已知,否則會出現超過的數字顯示為########的情況。

另外一個問題是,使用column時,設置生效是session級還是system級,需要注意。

也許某張表的數值列不總是要求所有的地方顯示時,都是Oracle小數點后兩位的格式,

此時只能使用session級,但是有個數據庫連接會話超時的問題,如果不是使用到system級,不建議使用該方法。

方法四:使用to_char+trim的方式,如下:

 

  1. select trim(to_char(1234,'99999999999999.99')) from dual; 

或者

 

  1. select ltrim(trim(to_char(1234.525,'00000000000000.00')),'0') from dual; 

此處使用了14個9或者14個0的格式,建議使用14個9的方式,方便些。方法四的不足之處是

如果數值是0的話,轉化之后為.00而不是0.00,補救措施是,decode一下。

另一需要注意的是,格式中Oracle小數點左邊9或者0的個數要夠多,負責查詢的數字會顯示為n個符號“#”。

如下:

 

  1. select decode
    (salary,0,'0.00',trim(to_char(salary,'99999999999999.99'))) from can_do; 

或者

 

  1. select decode
    (salary,0,'0.00',ltrim(trim(to_char(salary,'00000000000000.00')),'0')) from can_do; 

結論:建議使用方法四中的trim+to_char的方式或者方法一的補救之后的方式,而且最好使用Oracle小數點左邊n個9的方式,不要使用0的方式,否則,要多一步trim處理。

即:

  1. select decode(salary,0,'0.00',
    trim(to_char(salary,'99999999999999.99'))) from can_do; 

或者

 

  1. select decode(salary,0,'0.00',
    (to_char(round(salary,2),'fm99999999999999.00'))) from can_do;  

以上的相關內容就是對Oracle小數點的保留問題的介紹,望你能有所收獲。

【編輯推薦】

  1. 用Oracle外部表來查看相關的報警信息的2方案
  2. Oracle ebs的oaf開發環境進行正確的配置
  3. 查看Oracle當前連接數的具體方案
  4. Oracle遞歸條件查詢的操作流程
  5. Oracle數據庫索引的優點與缺點簡介
責任編輯:佚名 來源: 博客園
相關推薦

2010-04-27 11:24:31

Oracle小數點保留

2010-10-25 15:37:04

Oracle函數

2010-03-30 16:56:01

Oracle函數

2009-07-24 14:16:11

小數點保留兩位ASP.NET

2010-04-22 16:00:45

Oracle數據庫

2010-08-18 14:36:32

安裝DB2 管理軟件

2010-04-26 15:45:45

Oracle外部表

2010-03-29 15:33:18

Oracle EXP

2010-03-31 17:40:15

Oracle SELE

2010-07-22 09:48:14

SQL Server全

2010-06-01 16:26:43

MySQL無法遠程

2010-04-30 17:33:27

Oracle數據集成

2010-04-12 14:44:06

Oracle Impd

2010-05-13 10:47:44

MySQL數據庫查詢

2010-07-21 12:24:45

SQL Server表

2020-05-13 10:23:30

離岸供應商IT服務首席信息官

2010-05-21 13:48:36

MySQL數據庫

2010-07-05 09:14:37

SQL Server數

2010-03-30 16:33:55

Oracle數據類型

2010-04-12 13:05:56

Oracle軟件
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美日韩国产中文 | 国产黄视频在线播放 | 亚洲精品久久久久中文字幕欢迎你 | www久久久| 久久久性 | 国产一级网站 | 一区二区三区在线播放视频 | 国产精品成人一区二区 | 亚洲国产一区二区在线 | 欧美日韩在线播放 | 欧美国产一区二区三区 | 日韩av黄色 | 毛片免费在线 | 国产福利91精品 | 亚洲人成在线观看 | 国产精选一区 | 天堂在线1| www.888www看片| 91免费观看国产 | 国产精品1 | 久久九九99 | 免费看91 | 成人免费福利视频 | 玖操| 国产日韩欧美一区二区 | 欧美一级高清片 | 亚洲精品国产电影 | 国内精品久久精品 | 成人日韩精品 | 欧美成人一级 | 欧美视频免费在线 | 久久国产区 | 偷拍自拍在线观看 | av毛片在线播放 | 欧美精品一区二区在线观看 | 黄色免费在线观看网址 | 精品久久久久久18免费网站 | 自拍偷拍第一页 | 亚洲二区在线观看 | 国产精品久久视频 | 国产视频一区二区在线观看 |