隨筆-26  評論-13  文章-46  trackbacks-0

          In Oracle/PLSQL, the NVL function lets you substitute a value when a null value is encountered.

          The syntax for the NVL function is:

          NVL( string1, replace_with )

          string1 is the string to test for a null value.

          replace_with is the value returned if string1 is null.


          Example #1:

          select NVL(supplier_city, 'n/a')
          from suppliers;

          The SQL statement above would return 'n/a' if the supplier_city field contained a null value. Otherwise, it would return the supplier_city value.


          Example #2:

          select supplier_id,
          NVL(supplier_desc, supplier_name)
          from suppliers;

          This SQL statement would return the supplier_name field if the supplier_desc contained a null value. Otherwise, it would return the supplier_desc.


          Example #3:

          select NVL(commission, 0)
          from sales;

          This SQL statement would return 0 if the commission field contained a null value. Otherwise, it would return the commission field.


          Frequently Asked Questions


          Question:? I tried to use the NVL function through VB to access Oracle DB.

          To be precise,

          select NVL(DIstinct (emp_name),'AAA'),................ from.................

          I got an oracle error when I use distinct clause with NVL, but when I remove distinct it works fine.

          Answer:? It is possible to the use the DISTINCT clause with the NVL function. However, the DISTINCT must come before the use of the NVL function. For example:

          select distinct NVL(emp_name, 'AAA')
          from employees;

          Hope this helps!


          Question:? Is it possible to use the NVL function with more than one column with the same function call?? To be clear, if i need to apply this NVL function to more than one column like this:

          NVL(column1;column2 ...... , here is the default value for all )

          Answer:? You will need to make separate NVL function calls for each column. For example:

          select NVL(table_name, 'not found'), NVL(owner, 'not found')
          from all_tables;

          posted on 2006-04-05 13:38 似水流年 閱讀(647) 評論(0)  編輯  收藏 所屬分類: Oracle
          主站蜘蛛池模板: 定州市| 勐海县| 五台县| 冕宁县| 衡山县| 庄河市| 静乐县| 鹤壁市| 五寨县| 桐乡市| 阿城市| 博乐市| 栾川县| 定安县| 满城县| 大名县| 磐安县| 通许县| 尉氏县| 土默特右旗| 济源市| 德格县| 聂拉木县| 图片| 渭源县| 刚察县| 雷山县| 祁东县| 廊坊市| 西安市| 萝北县| 航空| 江都市| 宾川县| 吴江市| 桃源县| 海南省| 文安县| 准格尔旗| 自贡市| 庆城县|