Oracle NVL2 Function


/ Published in: SQL
Save to your folder(s)

Some examples of the NVL2 function in Oracle, including setup table.


Copy this code and paste it in your HTML
  1. DROP TABLE customers;
  2.  
  3. CREATE TABLE customers (
  4. first_name varchar2(100),
  5. last_name varchar2(100),
  6. country varchar2(20),
  7. full_address CLOB,
  8. employees NUMBER,
  9. start_date DATE
  10. );
  11.  
  12. INSERT INTO customers (first_name, last_name, country, full_address, employees, start_date) VALUES ('John', 'Smith', 'USA', '10 Long Road', 4, '12-APR-2010');
  13. INSERT INTO customers (first_name, last_name, country, full_address, employees, start_date) VALUES ('Sally', 'Jones', 'USA', '50 Market Street', 10, '04-JUL-2011');
  14. INSERT INTO customers (first_name, last_name, country, full_address, employees, start_date) VALUES ('Steve', 'Brown', 'Canada', '201 Flinders Lane', 15, '21-MAR-2009');
  15. INSERT INTO customers (first_name, last_name, country, full_address, employees, start_date) VALUES ('Mark', 'Allan', 'UK', '8 Smith Street', 23, '1-FEB-2001');
  16. INSERT INTO customers (first_name, last_name, country, full_address, employees, start_date) VALUES ('Adam', 'Cooper', 'USA', '14 Wellington Road', 55, NULL);
  17. INSERT INTO customers (first_name, last_name, country, full_address, employees, start_date) VALUES ('Josh', 'Thompson', NULL, '80 Victoria Street', 1, '10-FEB-2012');
  18. INSERT INTO customers (first_name, last_name, country, full_address, employees, start_date) VALUES ('Peter', 'Manson', 'France', '5 Johnson St', NULL, '16-OCT-2012');
  19. INSERT INTO customers (first_name, last_name, country, full_address, employees, start_date) VALUES (NULL, '', NULL, '155 Long Road', NULL, '16-OCT-2012');
  20.  
  21. SELECT * FROM customers;
  22.  
  23.  
  24. --Example 1
  25.  
  26. SELECT first_name,
  27. NVL2(first_name, first_name, 'No name provided') AS First_Name_Check
  28. FROM customers;
  29.  
  30. --Example 2
  31. SELECT first_name,
  32. NVL2(first_name, first_name, NULL) AS First_Name_Check
  33. FROM customers;
  34.  
  35. --Example 3
  36. SELECT first_name, employees,
  37. NVL2(employees, employees, 0) AS Employee_Check
  38. FROM customers;
  39.  
  40. --Example 4
  41. SELECT first_name, start_date,
  42. NVL2(start_date, start_date, '01-JAN-2000') AS Date_Check
  43. FROM customers;
  44.  
  45. --Example 5
  46. SELECT first_name, employees,
  47. NVL2(employees, 'Has some employees', 'Zero') AS Employee_Check
  48. FROM customers;

URL: http://www.databasestar.com/oracle-nvl2/

Report this snippet


Comments

RSS Icon Subscribe to comments

You need to login to post a comment.