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

DB2中進行sql除法運算結果為小數時顯示0的解決方案

數據庫
SELECT field1/field2 FROM TB;當 field1的數值 > field2的數值時,除法得出的結果是<1的,即0.xxxxxx,這個時候在DB2的環境下SELECT出來的值是0,本文將為您介紹兩種解決此問題的方法,供您參考。

在進行sql除法運算時,在DB2的環境下SELECT出來的值是0,這應該如何處理呢?本文將為您介紹DB2中進行sql除法運算結果為小數時顯示0問題的兩種解決方法,供您參考。

SELECT field1/field2 FROM TB;
當 field1的數值 > field2的數值時,除法得出的結果是<1的,即0.xxxxxx
這個時候在DB2的環境下SELECT出來的值是0
這個有兩個解決方法

方法1:
DB CFG的一個參數MIN_DEC_DIV_3,這個參數在GET DB CFG FOR DB中并不會列出,但卻可以修改。
數據庫配置參數MIN_DEC_DIV_3會更改涉及小數的十進制算術運算的結果小數位。
默認值為No,則小數位計算為 31-p+s-s'。
如果設置為Yes,則小數位計算為 MAX(3, 31-p+s-s')。
這會導致十進制小數部分始終至少具有3位的小數位。精度始終為31。

這個方法貌似需要通過DBA對數據庫進行設置,不太靠譜兒,有另外一種方法可以曲線救國,登場:

將sql語句修改為:

View Code SQL1
 SELECT CAST(field1 AS DOUBLE)/field2 FROM TB;

就是先把field1轉換成DOUBLE類型的,這樣計算出來的就會得出小數點了,會顯示出0.xxxxxx

接下來,需要對得出的小數點位數進行約束,那就用四舍五入吧,

View Code SQL1
 SELECT ROUND(CAST(field1 AS DOUBLE)/field2, 2) FROM TB;

這個意思就是說四舍五入,保留兩位小數點

但是如果field1或者field2有一個字段為NULL的話,那么結果為NULL,這個時候根據邏輯需要進行如下的一個操作,
如果數據列的值為NULL,將其設置為0,那么sql就要這么寫

View Code SQL1
 SELECT ROUND(COALESCE(CAST(field1 AS DOUBLE), 0)/field2, 2) FROM TB;

COALESCE這個函數系統的用法如下:
a. 輸入參數為字符類型,且允許為空的,可以使用COALESCE(inputParameter,”)把NULL轉換成”;
b. 輸入類型為整型,且允許為空的,可以使用COALESCE(inputParameter,0),把空轉換成0;
c. 輸入參數為字符類型,且是非空非空格的,可以使用COALESCE(inputParameter,”)把NULL轉換成”,然后判斷函數返回值是否為”;
d. 輸入類型為整型,且是非空的,不需要使用COALESCE函數,直接使用IS NULL進行非空判斷。
 

 

 

【編輯推薦】

用SQL游標遍歷循環數據的方法

sql中while語句多層循環實例

For循環中執行SQL查詢的討論

sql中inner join(等值連接)的語法

SQL中關于join聯合查詢中的關鍵語法

 

責任編輯:段燃 來源: 互聯網
相關推薦

2009-11-23 19:57:01

ibmdwDB2

2009-08-26 18:11:01

ibmdwDB2

2010-11-01 10:27:36

DB2數據庫啟動

2010-07-28 10:22:44

DB2 9.5

2011-03-14 15:47:34

DB2數據庫代碼

2011-03-22 09:45:59

IBMDB2數據庫包的重綁定

2010-08-20 09:29:34

DB2文件系統已滿

2010-08-12 10:43:36

DB2 SQL移植

2009-07-29 17:39:57

ibmdwDB2

2010-08-20 08:37:59

DB2創建外鍵

2010-09-06 15:13:05

DB2

2010-11-04 15:39:40

DB2 SQL語句

2010-09-30 16:00:40

DB2動態SQL

2010-11-02 11:43:11

DB2動態SQL

2011-05-27 15:51:44

DB2

2010-09-30 16:41:36

DB2隔離級別

2010-08-17 13:37:18

DB2 Online

2010-08-18 10:59:20

IBM DB2 Cat

2010-08-27 14:54:21

DB2批處理腳本

2010-11-03 13:36:51

DB2時間函數
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品国产精品国产专区不卡 | 欧美一级免费片 | 久久的色 | 在线观看国产三级 | 视频二区国产 | 国产高潮好爽受不了了夜夜做 | 人人草人人干 | 国产精品日韩欧美 | 91精品国产综合久久久久久首页 | 国产高清视频一区 | 日日摸夜夜添夜夜添精品视频 | 99精品在线| 国产一级电影在线观看 | 91精品国产91久久久久久密臀 | 久久97精品 | 亚洲一区二区三区在线免费 | 日本三级网址 | 69堂永久69tangcom | 免费日韩av | 99久久婷婷 | 自拍偷拍中文字幕 | 中文字幕高清一区 | 久久精品国产99国产精品 | 亚洲a在线观看 | 国产精品毛片av | 操久久 | 神马九九 | 国产一级毛片精品完整视频版 | 人人做人人澡人人爽欧美 | 亚洲视频在线观看 | 天天爽综合网 | 日本免费视频 | 国产精品日韩一区二区 | 亚洲电影在线播放 | 97国产精品视频 | 伊人久久综合影院 | 亚洲欧美中文字幕 | 啪啪毛片 | 黑人巨大精品欧美黑白配亚洲 | jav成人av免费播放 | 中文字幕av在线播放 |