× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.


  • Subject: Re: Converting from packed to character in Query/400
  • From: Dave Mahadevan <mahadevan@xxxxxxxx>
  • Date: Wed, 20 Aug 1997 13:26:22 -0400
  • Organization: Stoner and Associates

Peter Coffin wrote:

> Carol writes:
>
> > I found that I could convert the data to a character string in the
> Query
> > which runs before the C program, by using the DIGITS function.  This
> is
> > good, except that the DIGITS function does not retain the sign of
> the
> > number. (!)  I have figured out a kludgey way of handling this, but
> I
> > still wonder: Am I missing something obvious, or is there no easy
> way to
> > do this?
>
> I'm probably poking at the obvious, but is the DIGITS field big enough
> to hold
> the sign? I've been bitten several times by thinking that a 5-place
> numeric
> field only needed 5 (not six or seven) places for an *CHAR version of
> the same
> value.
>

Following is from the SQL reference on the DIGITS function

3.2.25 DIGITS

+------------------------------------------------------------------------+

¦
¦
¦ >--DIGITS--(--expression--)------------------------------------------>
¦
¦
¦
+------------------------------------------------------------------------+

The DIGITS function returns a character-string representation of the
absolute value of a number.

The argument must be an integer or decimal value.

If the argument can be null, the result can be null; if the argument is
null, the result is the null value.

The result of the function is a fixed-length character string
representing the absolute value of the argument without
regard to its scale.  The result does not include a sign or a decimal
point.  Instead, it consists exclusively of digits,
including, if necessary, leading zeros to fill out the string.  The
length of the string is:

   5, if the argument is a small zero scale integer
   10, if the argument is a large zero scale integer
   p, if the argument is a decimal or nonzero scale integer with a
precision of p

The CCSID of the character string is the default SBCS CCSID at the
current server.

As you see, sign never enters into consideration for the digits
function.

--
Thank You.

Regards

Dave Mahadevan.. mailto:mahadevan@fuse.net


* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* This is the Midrange System Mailing List!  To submit a new message,   *
* send your mail to "MIDRANGE-L@midrange.com".  To unsubscribe from     *
* this list send email to MAJORDOMO@midrange.com and specify            *
* 'unsubscribe MIDRANGE-L' in the body of your message.  Questions      *
* should be directed to the list owner / operator: david@midrange.com   *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.