title: To_number fails to convert varchar to number in update statement
body: <p>I have a table <code>test_table</code> as below</p>
  
  <pre><code>test_id varchar2(10)
  new_test_id number
  </code></pre>
  
  <p>Though test_id is <code>varchar</code> it stored numbers, now I want to store the negative of the current value in test_id to new_test_id. The statement I tried is as below:</p>
  
  <pre><code>update test_table a set a.new_test_id = TO_NUMBER(-a.test_id);
  </code></pre>
  
  <p>This throws the invalid number error although on running a test query as </p>
  
  <pre><code>select TO_NUMBER(-test_id) from test_table
  </code></pre>
  
  <p>it shows properly formatted number results.</p>
  
  <p>Why does <code>to_number</code> fails to convert string to number in the <code>update</code> statement where as it works fine in <code>select</code>? And what is the alternative in this scenario?</p>