LISTSERV at the University of Georgia
Menubar Imagemap
Home Browse Manage Request Manuals Register
Previous (more recent) messageNext (less recent) messagePrevious (more recent) in topicNext (less recent) in topicPrevious (more recent) by same authorNext (less recent) by same authorPrevious page (April 2001, week 4)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:         Tue, 24 Apr 2001 09:34:57 -0400
Reply-To:     Sigurd Hermansen <hermans1@WESTAT.COM>
Sender:       "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From:         Sigurd Hermansen <hermans1@WESTAT.COM>
Subject:      Re: Bug: Oracle-Pass-Through V8.1 <==> Oracle 8.1.6 ?
Comments: To: heiko.welter@T-MOBIL.DE

On Tue, 24 Apr 2001 10:48:44 +0200, Heiko Welter <heiko.welter@T-MOBIL.DE> wrote:

>Hi! > >In our environment: > >SAS V8.1 >ORACLE 8.1.6 >Sun Solaris 2.7 > >we observe that, using Oracle-Pass-Trough, number(16) values (Oracle) >fetched into the SAS-System loose there 16. Digit. Has anyone made the same >experience? > >Example: >Value in Oracle 1000000000000009 >==> Value in SAS after fetch 1000000000000000 > >Doese someone know, something about this Problem in V8.2 (fixed???) ? > >cheers for your help/suggestions >Heiko

I would not assume that you are seeing an error as such. From the context it seems possible that a value of integer type in an Oracle database could lose precision when cast as a value of real number type in SAS. As a rule I do not expect to see numeric precision of SAS real numbers past the 15th digit. The SAS-L archives include a number of discussions of numeric precision in SAS.

SAS does not offer an integer data type. It does allow you to represent long strings of digits in character type. Oracle, originally developed for Unix platforms, has traditionally used integers as identifiers. The implementation in Unix does not compromise precision. (In that sense, the integer type acts as a hybrid of real and character types.)

You can pass through a query, in Oracle PL/SQL syntax, that casts the integers as characters, and you can then use the long digit strings as identifiers. Of course, using real numbers as identifiers is a risky business, as seen often on SAS-L. Sig


Back to: Top of message | Previous page | Main SAS-L page