title: ORA-01873: the leading precision
body: <p>I am trying to query view but getting "<em>ORA-01873: the leading precision of the interval is too small</em>" error message. Below is the query.</p>
  
  <pre><code>Select * from table order by Col1.
  </code></pre>
  
  <p>Below is view structure:</p>
  
  <pre><code>Col1    NOT NULL NUMBER
  Col2    NOT NULL NVARCHAR2(80)
  Col3    NOT NULL NUMBER
  Col4    NOT NULL VARCHAR2(10)
  Col5        NVARCHAR2(80)
  Col6        NVARCHAR2(255)
  Col7        NUMBER
  Col8    NOT NULL NVARCHAR2(255)
  Col9    NOT NULL NVARCHAR2(1)
  Col10   NOT NULL NUMBER
  Col11       VARCHAR2(19)
  Col12       VARCHAR2(19)
  Col13       VARCHAR2(19)
  Col14       VARCHAR2(19)
  Col15       VARCHAR2(19)
  Col16       VARCHAR2(19)
  Col17       NUMBER
  Col18       NVARCHAR2(255)
  Col19       NVARCHAR2(80)
  Col20   NOT NULL NUMBER
  </code></pre>
  
  <p>Below is View Definition:</p>
  
  <pre><code>SELECT tab2.cola AS Col1,
      tab1.col AS COl2,    
      tab2.colb AS Col3,
      tab7.col AS Col4,
      DECODE(tab3.col, NULL, tab4.col) AS COl5,
      tab8.col AS Col6,
      tab6.col AS COl7,
      tab2.Colc AS Col8,
      tab2.cold AS Col9,
      tab2.cole AS Col10,
      TO_CHAR(TO_DATE('1970/01/01 00:00:00', 'YYYY/MM/DD HH24:MI:SS') + NUMTODSINTERVAL( tab2.colf / 1000,'SECOND'), 'YYYY/MM/DD HH24:MI:SS') AS COl11,
      TO_CHAR(TO_DATE('1970/01/01 00:00:00', 'YYYY/MM/DD HH24:MI:SS') + NUMTODSINTERVAL( tab2.colg / 1000,'SECOND'), 'YYYY/MM/DD HH24:MI:SS') AS Col12,
      TO_CHAR(TO_DATE('1970/01/01 00:00:00', 'YYYY/MM/DD HH24:MI:SS') + NUMTODSINTERVAL( tab2.colh / 1000,'SECOND'), 'YYYY/MM/DD HH24:MI:SS') AS Col13,
      TO_CHAR(TO_DATE('1970/01/01 00:00:00', 'YYYY/MM/DD HH24:MI:SS') + NUMTODSINTERVAL( tab2.coli / 1000,'SECOND'), 'YYYY/MM/DD HH24:MI:SS') AS Col14,
      TO_CHAR(TO_DATE('1970/01/01 00:00:00', 'YYYY/MM/DD HH24:MI:SS') + NUMTODSINTERVAL( tab2.colj / 1000,'SECOND'), 'YYYY/MM/DD HH24:MI:SS') AS COl15,
      TO_CHAR(TO_DATE('1970/01/01 00:00:00', 'YYYY/MM/DD HH24:MI:SS') + NUMTODSINTERVAL( tab2.colk / 1000,'SECOND'), 'YYYY/MM/DD HH24:MI:SS') AS COl16,
      tab2.coll AS Col17,
      tab9.col AS Col18,
      tab10.col AS Col19,
      tab2.colm AS Col20
  FROM tab1 ,
      tab2 ,
      tab3,
      tab4,
      tab5,
      tab6,
      tab7,
      tab8,
      tab9,
      tab10
  WHERE ....
  </code></pre>
  
  <p>Other queries are running fine like <code>select * from table where Col1 = 123</code> or <code>select * from table where Col2 = 'xyz' order by Col1</code> but above query is not working for any col. Please suggest.</p>