Re: cast error ...

From: DA Morgan <damorgan_at_psoug.org>
Date: Tue, 10 Jul 2007 08:28:48 -0700
Message-ID: <1184081327.447562_at_bubbleator.drizzle.com>


Matt T wrote:
> Whats the difference between using Cast(number_field as VARCHAR2) and
> TO_CHAR(number_field) ?
>
> Are there performance differences, or are you commenting on your own
> personal preference to use TO_CHAR?

The test:

DECLARE
  v VARCHAR2(10);
BEGIN
   FOR i IN 1 .. 100000 LOOP

     SELECT CAST(3.14 AS VARCHAR2(10))
     INTO v
     FROM dual;

   END LOOP;
END;
/

DECLARE
  v VARCHAR2(10);
BEGIN
   FOR i IN 1 .. 100000 LOOP

     SELECT TO_CHAR(3.14)
     INTO v
     FROM dual;

   END LOOP;
END;
/

The results:

           CAST      TO_CHAR
Run 1     3.90        3.90
Run 2     3.87        3.87
Run 3     3.90        3.89

The differences, if any, look inconsequential.

-- 
Daniel A. Morgan
University of Washington
damorgan_at_x.washington.edu (replace x with u to respond)
Puget Sound Oracle Users Group
www.psoug.org
Received on Tue Jul 10 2007 - 17:28:48 CEST

Original text of this message