you get errors because you cannot divide a DATE by a NUMBER --
trunc(sysdate) returns a DATE, and a DATE minus a NUMBER returns a DATE
again.
so you can only do things like:
trunc(sysdate) - (22/86400)
Is there any way to improve this lengthly statement?
Thanks,
Wes
--- Edgar Chupit <edgar.chupit@(protected) > wrote:
> Hello Wes,
>
> WB > WHERE TRUNC(last_update_date) = TRUNC(SYSDATE - 1)
> WB > How to improve the performance? Do I need to create a new index field
on the table with
> TRUNC(last_update_date)?
>
> You have several opportunities:
> a) you can rewrite your query to this:
> where last_update_date between trunc(sysdate)-1 and
trunc(sysdate)-1/86400
> b) you can create function based index like:
> create index tt_idx on tt(trunc(last_update_date));
> c) you can add column to your table with values from
trunc(last_update_date)
>
> What option to choose mostly depends on your requirements.
-- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ------
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ------
To unsubscribe send email to: oracle-l-request@(protected)
put 'unsubscribe ' in the subject line.
--
Archives are at http://www.freelists.org/archives/oracle-l/
FAQ is at http://www.freelists.org/help/fom-serve/cache/1.html
-- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- --
-- Binary/unsupported file stripped by Ecartis --
-- Type: text/x-vcard
-- File: Lex de Haan.vcf
-- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ------
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ------
To unsubscribe send email to: oracle-l-request@(protected)
put 'unsubscribe ' in the subject line.
--
Archives are at http://www.freelists.org/archives/oracle-l/
FAQ is at http://www.freelists.org/help/fom-serve/cache/1.html
-- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- --