日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
DB2中進(jìn)行sql除法運(yùn)算結(jié)果為小數(shù)時(shí)顯示0的解決方案

在進(jìn)行sql除法運(yùn)算時(shí),在DB2的環(huán)境下SELECT出來(lái)的值是0,這應(yīng)該如何處理呢?本文將為您介紹DB2中進(jìn)行sql除法運(yùn)算結(jié)果為小數(shù)時(shí)顯示0問(wèn)題的兩種解決方法,供您參考。

我們提供的服務(wù)有:成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、滎經(jīng)ssl等。為上千家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的滎經(jīng)網(wǎng)站制作公司

SELECT field1/field2 FROM TB;
當(dāng) field1的數(shù)值 > field2的數(shù)值時(shí),除法得出的結(jié)果是<1的,即0.xxxxxx
這個(gè)時(shí)候在DB2的環(huán)境下SELECT出來(lái)的值是0
這個(gè)有兩個(gè)解決方法

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

這個(gè)方法貌似需要通過(guò)DBA對(duì)數(shù)據(jù)庫(kù)進(jìn)行設(shè)置,不太靠譜兒,有另外一種方法可以曲線救國(guó),登場(chǎng):

將sql語(yǔ)句修改為:

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

就是先把field1轉(zhuǎn)換成DOUBLE類型的,這樣計(jì)算出來(lái)的就會(huì)得出小數(shù)點(diǎn)了,會(huì)顯示出0.xxxxxx

接下來(lái),需要對(duì)得出的小數(shù)點(diǎn)位數(shù)進(jìn)行約束,那就用四舍五入吧,

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

這個(gè)意思就是說(shuō)四舍五入,保留兩位小數(shù)點(diǎn)

但是如果field1或者field2有一個(gè)字段為NULL的話,那么結(jié)果為NULL,這個(gè)時(shí)候根據(jù)邏輯需要進(jìn)行如下的一個(gè)操作,
如果數(shù)據(jù)列的值為NULL,將其設(shè)置為0,那么sql就要這么寫

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

COALESCE這個(gè)函數(shù)系統(tǒng)的用法如下:
a. 輸入?yún)?shù)為字符類型,且允許為空的,可以使用COALESCE(inputParameter,”)把NULL轉(zhuǎn)換成”;
b. 輸入類型為整型,且允許為空的,可以使用COALESCE(inputParameter,0),把空轉(zhuǎn)換成0;
c. 輸入?yún)?shù)為字符類型,且是非空非空格的,可以使用COALESCE(inputParameter,”)把NULL轉(zhuǎn)換成”,然后判斷函數(shù)返回值是否為”;
d. 輸入類型為整型,且是非空的,不需要使用COALESCE函數(shù),直接使用IS NULL進(jìn)行非空判斷。


分享標(biāo)題:DB2中進(jìn)行sql除法運(yùn)算結(jié)果為小數(shù)時(shí)顯示0的解決方案
網(wǎng)頁(yè)網(wǎng)址:http://www.5511xx.com/article/dpioscd.html