關於小數中0的處理
今天碰到一個小問題,分享一下。
oracle中輸入0.1查出的時候是.1,現在想把結果格式化成varchar2,格式化成0.10,保留兩位精度。
先拿大於1的數試驗,沒問題
SQL> select to_char(1.1,'99999999.99') from dual;
TO_CHAR(1.1,
------------
1.10
------------
1.10
SQL> c/1.1/.1
1* select to_char(.1,'99999999.99') from dual
SQL> /
1* select to_char(.1,'99999999.99') from dual
SQL> /
TO_CHAR(.1,'
------------
.10
------------
.10
--結果有問題
--貌似可以用這種方式
SQL> select to_char(.1,'999999990.99') from dual;
TO_CHAR(.1,'9
-------------
0.10
-------------
0.10
--或者
SQL> select to_char(.1,'fm9999999990.00') from dual;
SQL> select to_char(.1,'fm9999999990.00') from dual;
TO_CHAR(.1,'FM
--------------
0.10
--------------
0.10
--這樣不可以
SQL> select to_char(.12,'fm999999.99') from dual;
TO_CHAR(.1
----------
.12
----------
.12
但是對於上面的兩種方法,仔細琢磨一下,會發現 差別還是很大的。
SQL> select to_char(.1,'999999990.99'),length(to_char(.1,'999999990.99')) from dual;
TO_CHAR(.1,'9 LENGTH(TO_CHAR(.1,'999999990.99'))
------------- ----------------------------------
0.10 13
------------- ----------------------------------
0.10 13
SQL> select to_char(.1,'fm9999999990.00') ,length(to_char(.1,'fm9999999990.00')) from dual;
TO_CHAR(.1,'FM LENGTH(TO_CHAR(.1,'FM9999999990.00'))
-------------- -------------------------------------
0.10 4
-------------- -------------------------------------
0.10 4
--用符合隔開來分辨。
SQL> select '>>'||TO_CHAR(123.1,'FM99999.99')||'<>'||TO_CHAR(123.1,'9999.99')||'<
'>>'||TO_CHAR '>>'||TO_CHA
------------- ------------
>>123.1<> 123.10<<
------------- ------------
>>123.1<> 123.10<<
第二種會有隱式的分隔。
所以根據具體的需要還是要區別對待,
預設保險起見還是用如下的方式
SQL> select to_char(.1,'fm9999999990.00') ,length(to_char(.1,'fm9999999990.00')) from dual;
TO_CHAR(.1,'FM LENGTH(TO_CHAR(.1,'FM9999999990.00'))
-------------- -------------------------------------
0.10 4
這樣就可以自動去除前面的空格。
-------------- -------------------------------------
0.10 4
這樣就可以自動去除前面的空格。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23718752/viewspace-748568/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 關於批處理中的變數變數
- 關於Python中的日期處理Python
- 關於JF框架中的空值處理框架
- 關於處理死鎖的一點小知識
- SQL中除數為0處理情況演示SQL
- CSS 小數 處理CSS
- Java 中關於 null 物件的容錯處理JavaNull物件
- 關於中文URL的處理
- 影象處理中關於孔洞填充的方法總結
- 關於自動付款中預付款的處理-轉
- 關於attention中對padding的處理:maskpadding
- java中大數處理和高精度小數處理(so easy)Java
- iOS 關於時間的處理iOS
- 關於大資料量的處理大資料
- MySQL 關於毫秒的處理薦MySql
- 關於Disruptor處理流程
- Transact-SQL處理小數SQL
- MyBatis SQL處理大於、小於號MyBatisSQL
- 專案分享二:APP 小紅點中數字的處理APP
- JavaScript 中的引數處理JavaScript
- django2中關於時間處理策略Django
- 關於 SAP Spartacus scss 處理邏輯裡的變數 $useLatestStylesCSS變數
- 關於aud$物件相關處理物件
- 關於高併發和分散式中的冪等處理分散式
- Spring Boot 中關於自定義異常處理的套路!Spring Boot
- 關於專案中遇到的NullPointerException異常時處理手段NullException
- 關於SAP生產訂單操作中的問題處理。
- 關於go的跨域處理 ginGo跨域
- 關於jdon 的事務處理疑惑?
- reactnative 中關於小米文案的被截斷的處理方案React
- 關於GCD多工處理GC
- 關於php rsa加密處理PHP加密
- 0x02. 處理視窗關閉
- 關於PHP程式設計中的變數使用技巧小結PHP程式設計變數
- 關於在request請求時,處理請求引數的問題
- 小程式的事件處理引數不能取得事件
- Java--- 關於null的處理若干方法JavaNull
- 關於特殊符號&與& 的處理符號