title: How to get a substring value from a varchar in oracle based on specific pattern
body: <p>I have a column which has record in below specific format :-</p>
  
  <pre><code>ParamName1+ParamVal1;ParamName2+ParamVal2;ParamName3+ParamVal3;
  </code></pre>
  
  <p>Currently I am using below query logic but this logic also brings the value for which the part of the search ParamName matches :-</p>
  
  <pre><code>TRIM(REGEXP_REPLACE(REGEXP_SUBSTR(TO_CHAR(ITEM_ATRS_LIST),'ID\+[^;]*'),'ID\+',''))
  </code></pre>
  
  <p>For example if I have value <code>EmpID+1234;Name+ABCD;Age+21;</code>
  using query </p>
  
  <pre><code>TRIM(REGEXP_REPLACE(REGEXP_SUBSTR(TO_CHAR(ITEM_ATRS_LIST), 'ID\+[^;]*'),'ID\ + ',''))
  </code></pre>
  
  <p>gives us value 1234 but we want <code>NULL</code> since the ParamName ID is not present. </p>
  
  <p>Do we have any way to bring value which matches completely with the search paramName ?</p>