kxbin
          成功留給有準(zhǔn)備的人
          posts - 10,  comments - 35,  trackbacks - 0

          在設(shè)計企業(yè)報表時,報表單元格的表達(dá)式中經(jīng)常需要用到空值判斷,例如在單元格的顯示值屬性中,判斷當(dāng)單元格的值為空時,顯示為0,否則顯示單元格的真實值,等等。一般這種情況下,用戶習(xí)慣寫的表達(dá)式是: if(@value=null, 0, @value)。

          如果我們把@value換成更加復(fù)雜的表達(dá)式,例如if(ds1.getone(…)==null, 0, ds1.getone(…)),大家可以看出,這種算法明顯很慢,需要把ds1.getone(…)這樣的復(fù)雜表達(dá)式運算兩次,而如果采用nvl() 則可以避免這個問題。

          單元格函數(shù):nvl()

          函數(shù)說明: 
          根據(jù)第一個表達(dá)式的值是否為空,若為空則返回指定值

          語法: 
          nvl( valueExp1, valueExp2 )

          參數(shù)說明: 
          valueExp1–需要計算的表達(dá)式,其結(jié)果不為空時返回其值 
          valueExp2–需要計算的表達(dá)式,當(dāng)valueExp1結(jié)果為空時返回此值

          返回值: 
          valueExp1或valueExp2的結(jié)果值

          示例: 
          例1:nvl(A1,””) 表示當(dāng)A1為空時,返回空串,否則返回A1

          例2:nvl(@value,0) 表示當(dāng)當(dāng)前格為空時返回0,否則返回當(dāng)前格的值

          應(yīng)用舉例:

          正確寫法,速度快:

          nvl(ds1.getone(…), 0) 
          nvl(a1[……]{……}, “–”)

          錯誤寫法,速度慢:

          if(ds1.getone(…)==null, 0, ds1.getone(…)) 
          if(a1[……]{……}==null, “–”, a1[……]{……})

          posted on 2011-11-23 18:09 kxbin 閱讀(722) 評論(0)  編輯  收藏 所屬分類: 皕杰報表
          你恨一個人是因為你愛他;你喜歡一個人,是因為他身上有你沒有的;你討厭一個人是因為他身上有你有的東西;你經(jīng)常在別人面前批評某人,其實潛意識中是想接近他。

          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(5)

          隨筆檔案

          文章分類

          文章檔案

          相冊

          收藏夾

          J2EE

          java技術(shù)網(wǎng)站

          Linux

          平時常去的網(wǎng)站

          數(shù)據(jù)庫

          電影網(wǎng)站

          網(wǎng)站設(shè)計

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 金坛市| 和田县| 汕尾市| 石渠县| 东丰县| 琼海市| 元谋县| 六盘水市| 正宁县| 富顺县| 西林县| 乌鲁木齐县| 民权县| 兖州市| 海阳市| 多伦县| 连城县| 漳州市| 博乐市| 遂川县| 黎平县| 玛曲县| 礼泉县| 新和县| 仁怀市| 宜良县| 海门市| 麦盖提县| 高要市| 靖宇县| 屏东市| 武城县| 余江县| 呼伦贝尔市| 凤阳县| 钦州市| 富锦市| 城口县| 阿拉尔市| 青冈县| 南通市|