kxbin
          成功留給有準備的人
          posts - 10,  comments - 35,  trackbacks - 0

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

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

          單元格函數:nvl()

          函數說明: 
          根據第一個表達式的值是否為空,若為空則返回指定值

          語法: 
          nvl( valueExp1, valueExp2 )

          參數說明: 
          valueExp1–需要計算的表達式,其結果不為空時返回其值 
          valueExp2–需要計算的表達式,當valueExp1結果為空時返回此值

          返回值: 
          valueExp1或valueExp2的結果值

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

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

          應用舉例:

          正確寫法,速度快:

          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)  編輯  收藏 所屬分類: 皕杰報表
          你恨一個人是因為你愛他;你喜歡一個人,是因為他身上有你沒有的;你討厭一個人是因為他身上有你有的東西;你經常在別人面前批評某人,其實潛意識中是想接近他。

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

          常用鏈接

          留言簿(5)

          隨筆檔案

          文章分類

          文章檔案

          相冊

          收藏夾

          J2EE

          java技術網站

          Linux

          平時常去的網站

          數據庫

          電影網站

          網站設計

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 东乡县| 大兴区| 临高县| 盐池县| 多伦县| 唐海县| 巩义市| 襄汾县| 哈密市| 宿迁市| 南木林县| 杭州市| 景德镇市| 兰考县| 沅陵县| 呈贡县| 建水县| 恩施市| 临颍县| 四平市| 武安市| 苍梧县| 广宁县| 汶上县| 庆阳市| 玉树县| 宁波市| 西畴县| 开化县| 泸西县| 铁岭市| 英德市| 东海县| 荆州市| 岐山县| 西和县| 绥棱县| 长宁区| 抚州市| 安溪县| 义乌市|