title: Improve the performance of query containing upper and nvl fucntion
body: <pre><code>INSERT INTO tab2 NOLOGGING
  SELECT 
     ID,
    ORG_NAME
  FROM tab3
  WHERE (( upper(NVL(org_name,company_given)) LIKE '%MSOFT%'
  OR upper(NVL(org_name,company_given)) LIKE 'M SOFT'
  OR upper(NVL(org_name,company_given)) LIKE '%MISOFT%'
  OR upper(NVL(org_name,company_given)) LIKE 'MSN %'
  OR upper(NVL(org_name,company_given)) LIKE '%N APP%'
  OR upper(NVL(org_name,company_given)) LIKE '%NAPP%'
  OR upper(NVL(org_name,company_given)) LIKE '%NAPPE%'
  OR upper(NVL(org_name,company_given)) LIKE '%NAPPS%'
  OR upper(NVL(org_name,company_given)) LIKE '%NEK%APPLIANCE%'
  </code></pre>
  
  <p>the above coding is taking too much time. Table tab3 is very huge.
  The above is dynamic. Any alternatives for nvl?</p>